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
114 POMP2_Assign_handle( POMP2_Region_handle* pomp2_handle,
115 const char ctc_string[] );
124 POMP2_Atomic_enter( POMP2_Region_handle* pomp2_handle,
125 const char ctc_string[] );
131 POMP2_Atomic_exit( POMP2_Region_handle* pomp2_handle );
146 POMP2_Barrier_enter( POMP2_Region_handle* pomp2_handle,
147 POMP2_Task_handle* pomp2_old_task,
148 const char ctc_string[] );
162 POMP2_Barrier_exit( POMP2_Region_handle* pomp2_handle,
163 POMP2_Task_handle pomp2_old_task );
178 POMP2_Implicit_barrier_enter( POMP2_Region_handle* pomp2_handle,
179 POMP2_Task_handle* pomp2_old_task );
194 POMP2_Implicit_barrier_exit( POMP2_Region_handle* pomp2_handle,
195 POMP2_Task_handle pomp2_old_task );
204 POMP2_Flush_enter( POMP2_Region_handle* pomp2_handle,
205 const char ctc_string[] );
211 POMP2_Flush_exit( POMP2_Region_handle* pomp2_handle );
217 POMP2_Critical_begin( POMP2_Region_handle* pomp2_handle );
223 POMP2_Critical_end( POMP2_Region_handle* pomp2_handle );
230 POMP2_Critical_enter( POMP2_Region_handle* pomp2_handle,
231 const char ctc_string[] );
237 POMP2_Critical_exit( POMP2_Region_handle* pomp2_handle );
244 POMP2_For_enter( POMP2_Region_handle* pomp2_handle,
245 const char ctc_string[] );
251 POMP2_For_exit( POMP2_Region_handle* pomp2_handle );
258 POMP2_Master_begin( POMP2_Region_handle* pomp2_handle,
259 const char ctc_string[] );
265 POMP2_Master_end( POMP2_Region_handle* pomp2_handle );
277 POMP2_Parallel_begin( POMP2_Region_handle* pomp2_handle );
284 POMP2_Parallel_end( POMP2_Region_handle* pomp2_handle );
301 POMP2_Parallel_fork( POMP2_Region_handle* pomp2_handle,
304 POMP2_Task_handle* pomp2_old_task,
305 const char ctc_string[] );
319 POMP2_Parallel_join( POMP2_Region_handle* pomp2_handle,
320 POMP2_Task_handle pomp2_old_task );
328 POMP2_Section_begin( POMP2_Region_handle* pomp2_handle,
329 const char ctc_string[] );
335 POMP2_Section_end( POMP2_Region_handle* pomp2_handle );
342 POMP2_Sections_enter( POMP2_Region_handle* pomp2_handle,
343 const char ctc_string[] );
349 POMP2_Sections_exit( POMP2_Region_handle* pomp2_handle );
355 POMP2_Single_begin( POMP2_Region_handle* pomp2_handle );
361 POMP2_Single_end( POMP2_Region_handle* pomp2_handle );
369 POMP2_Single_enter( POMP2_Region_handle* pomp2_handle,
370 const char ctc_string[] );
376 POMP2_Single_exit( POMP2_Region_handle* pomp2_handle );
384 POMP2_Workshare_enter( POMP2_Region_handle* pomp2_handle,
385 const char ctc_string[] );
391 POMP2_Workshare_exit( POMP2_Region_handle* pomp2_handle );
397 POMP2_Ordered_begin( POMP2_Region_handle* pomp2_handle );
403 POMP2_Ordered_end( POMP2_Region_handle* pomp2_handle );
410 POMP2_Ordered_enter( POMP2_Region_handle* pomp2_handle,
411 const char ctc_string[] );
417 POMP2_Ordered_exit( POMP2_Region_handle* pomp2_handle );
435 POMP2_Task_create_begin( POMP2_Region_handle* pomp2_handle,
436 POMP2_Task_handle* pomp2_new_task,
437 POMP2_Task_handle* pomp2_old_task,
439 const char ctc_string[] );
451 POMP2_Task_create_end( POMP2_Region_handle* pomp2_handle,
452 POMP2_Task_handle pomp2_old_task );
460 POMP2_Task_begin( POMP2_Region_handle* pomp2_handle,
461 POMP2_Task_handle pomp2_task );
468 POMP2_Task_end( POMP2_Region_handle* pomp2_handle );
488 POMP2_Untied_task_create_begin( POMP2_Region_handle* pomp2_handle,
489 POMP2_Task_handle* pomp2_new_task,
490 POMP2_Task_handle* pomp2_old_task,
492 const char ctc_string[] );
506 POMP2_Untied_task_create_end( POMP2_Region_handle* pomp2_handle,
507 POMP2_Task_handle pomp2_old_task );
516 POMP2_Untied_task_begin( POMP2_Region_handle* pomp2_handle,
517 POMP2_Task_handle pomp2_task );
524 POMP2_Untied_task_end( POMP2_Region_handle* pomp2_handle );
541 POMP2_Taskwait_begin( POMP2_Region_handle* pomp2_handle,
542 POMP2_Task_handle* pomp2_old_task,
543 const char ctc_string[] );
558 POMP2_Taskwait_end( POMP2_Region_handle* pomp2_handle,
559 POMP2_Task_handle pomp2_old_task );
569 POMP2_Lib_get_max_threads(
void );
574 POMP2_Init_lock( omp_lock_t* s );
579 POMP2_Destroy_lock( omp_lock_t* s );
584 POMP2_Set_lock( omp_lock_t* s );
589 POMP2_Unset_lock( omp_lock_t* s );
595 POMP2_Test_lock( omp_lock_t* s );
600 POMP2_Init_nest_lock( omp_nest_lock_t* s );
605 POMP2_Destroy_nest_lock( omp_nest_lock_t* s );
610 POMP2_Set_nest_lock( omp_nest_lock_t* s );
615 POMP2_Unset_nest_lock( omp_nest_lock_t* s );
621 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)