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:


Executing in the OpenMP library 


Slave thread, waiting for work 


Thread performing a reduction operation 


Thread waiting at an implicit barrier 


Thread waiting at an explicit barrier 


Thread waiting for a lock 


Thread waiting to enter a critical section 


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.