63 #if defined( __SUNPRO_C )
64 #pragma error_messages (off, E_NOWAIT_REDUCTION_USE)
70 #ifndef __opari2_region_handle
72 #define __opari2_region_handle
75 typedef OPARI2_Region_handle POMP2_Region_handle;
76 typedef int64_t POMP2_Task_handle;
110 extern POMP2_Task_handle
120 const char ctc_string[] );
129 POMP2_Atomic_enter( POMP2_Region_handle* pomp2_handle,
130 const char ctc_string[] );
136 POMP2_Atomic_exit( POMP2_Region_handle* pomp2_handle );
151 POMP2_Barrier_enter( POMP2_Region_handle* pomp2_handle,
152 POMP2_Task_handle* pomp2_old_task,
153 const char ctc_string[] );
167 POMP2_Barrier_exit( POMP2_Region_handle* pomp2_handle,
168 POMP2_Task_handle pomp2_old_task );
183 POMP2_Implicit_barrier_enter( POMP2_Region_handle* pomp2_handle,
184 POMP2_Task_handle* pomp2_old_task );
199 POMP2_Implicit_barrier_exit( POMP2_Region_handle* pomp2_handle,
200 POMP2_Task_handle pomp2_old_task );
209 POMP2_Flush_enter( POMP2_Region_handle* pomp2_handle,
210 const char ctc_string[] );
216 POMP2_Flush_exit( POMP2_Region_handle* pomp2_handle );
222 POMP2_Critical_begin( POMP2_Region_handle* pomp2_handle );
228 POMP2_Critical_end( POMP2_Region_handle* pomp2_handle );
235 POMP2_Critical_enter( POMP2_Region_handle* pomp2_handle,
236 const char ctc_string[] );
242 POMP2_Critical_exit( POMP2_Region_handle* pomp2_handle );
249 POMP2_For_enter( POMP2_Region_handle* pomp2_handle,
250 const char ctc_string[] );
256 POMP2_For_exit( POMP2_Region_handle* pomp2_handle );
263 POMP2_Master_begin( POMP2_Region_handle* pomp2_handle,
264 const char ctc_string[] );
270 POMP2_Master_end( POMP2_Region_handle* pomp2_handle );
282 POMP2_Parallel_begin( POMP2_Region_handle* pomp2_handle );
289 POMP2_Parallel_end( POMP2_Region_handle* pomp2_handle );
306 POMP2_Parallel_fork( POMP2_Region_handle* pomp2_handle,
309 POMP2_Task_handle* pomp2_old_task,
310 const char ctc_string[] );
324 POMP2_Parallel_join( POMP2_Region_handle* pomp2_handle,
325 POMP2_Task_handle pomp2_old_task );
333 POMP2_Section_begin( POMP2_Region_handle* pomp2_handle,
334 const char ctc_string[] );
340 POMP2_Section_end( POMP2_Region_handle* pomp2_handle );
347 POMP2_Sections_enter( POMP2_Region_handle* pomp2_handle,
348 const char ctc_string[] );
354 POMP2_Sections_exit( POMP2_Region_handle* pomp2_handle );
360 POMP2_Single_begin( POMP2_Region_handle* pomp2_handle );
366 POMP2_Single_end( POMP2_Region_handle* pomp2_handle );
374 POMP2_Single_enter( POMP2_Region_handle* pomp2_handle,
375 const char ctc_string[] );
381 POMP2_Single_exit( POMP2_Region_handle* pomp2_handle );
389 POMP2_Workshare_enter( POMP2_Region_handle* pomp2_handle,
390 const char ctc_string[] );
396 POMP2_Workshare_exit( POMP2_Region_handle* pomp2_handle );
402 POMP2_Ordered_begin( POMP2_Region_handle* pomp2_handle );
408 POMP2_Ordered_end( POMP2_Region_handle* pomp2_handle );
415 POMP2_Ordered_enter( POMP2_Region_handle* pomp2_handle,
416 const char ctc_string[] );
422 POMP2_Ordered_exit( POMP2_Region_handle* pomp2_handle );
440 POMP2_Task_create_begin( POMP2_Region_handle* pomp2_handle,
441 POMP2_Task_handle* pomp2_new_task,
442 POMP2_Task_handle* pomp2_old_task,
444 const char ctc_string[] );
456 POMP2_Task_create_end( POMP2_Region_handle* pomp2_handle,
457 POMP2_Task_handle pomp2_old_task );
465 POMP2_Task_begin( POMP2_Region_handle* pomp2_handle,
466 POMP2_Task_handle pomp2_task );
473 POMP2_Task_end( POMP2_Region_handle* pomp2_handle );
493 POMP2_Untied_task_create_begin( POMP2_Region_handle* pomp2_handle,
494 POMP2_Task_handle* pomp2_new_task,
495 POMP2_Task_handle* pomp2_old_task,
497 const char ctc_string[] );
511 POMP2_Untied_task_create_end( POMP2_Region_handle* pomp2_handle,
512 POMP2_Task_handle pomp2_old_task );
521 POMP2_Untied_task_begin( POMP2_Region_handle* pomp2_handle,
522 POMP2_Task_handle pomp2_task );
529 POMP2_Untied_task_end( POMP2_Region_handle* pomp2_handle );
546 POMP2_Taskwait_begin( POMP2_Region_handle* pomp2_handle,
547 POMP2_Task_handle* pomp2_old_task,
548 const char ctc_string[] );
563 POMP2_Taskwait_end( POMP2_Region_handle* pomp2_handle,
564 POMP2_Task_handle pomp2_old_task );
574 POMP2_Lib_get_max_threads(
void );
579 POMP2_Init_lock( omp_lock_t* s );
584 POMP2_Destroy_lock( omp_lock_t* s );
589 POMP2_Set_lock( omp_lock_t* s );
594 POMP2_Unset_lock( omp_lock_t* s );
600 POMP2_Test_lock( omp_lock_t* s );
605 POMP2_Init_nest_lock( omp_nest_lock_t* s );
610 POMP2_Destroy_nest_lock( omp_nest_lock_t* s );
615 POMP2_Set_nest_lock( omp_nest_lock_t* s );
620 POMP2_Unset_nest_lock( omp_nest_lock_t* s );
626 POMP2_Test_nest_lock( omp_nest_lock_t* s );
void POMP2_Init_regions(void)
size_t POMP2_Get_num_regions(void)
void * OPARI2_Region_handle
Definition: pomp2_lib.h:71
const char * POMP2_Get_opari2_version(void)
POMP2_Task_handle POMP2_Get_new_task_handle(void)
void POMP2_Assign_handle(POMP2_Region_handle *pomp2_handle, const char ctc_string[])