Sun Studio 12 Update 1: Performance Analyzer

Artificial Functions

Artificial functions are constructed and put onto the User mode call stacks reflecting events in which a thread was in some state within the OpenMP runtime library.

The following artificial functions are defined:

<OMP-overhead>

Executing in the OpenMP library 

<OMP-idle>

Slave thread, waiting for work 

<OMP-reduction>

Thread performing a reduction operation 

<OMP-implicit_barrier>

Thread waiting at an implicit barrier 

<OMP-explicit_barrier>

Thread waiting at an explicit barrier 

<OMP-lock_wait>

Thread waiting for a lock 

<OMP-critical_section_wait>

Thread waiting to enter a critical section 

<OMP-ordered_section_wait>

Thread waiting for its turn to enter an ordered section 

When a thread is in an OpenMP runtime state corresponding to one of those functions, the corresponding function is added as the leaf function on the stack. When a thread’s leaf function is anywhere in the OpenMP runtime, it is replaced by <OMP-overhead> as the leaf function. Otherwise, all PCs from the OpenMP runtime are omitted from the user-mode stack.