diff options
Diffstat (limited to 'lib/libomp/omp-tools.h')
-rw-r--r-- | lib/libomp/omp-tools.h | 94 |
1 files changed, 67 insertions, 27 deletions
diff --git a/lib/libomp/omp-tools.h b/lib/libomp/omp-tools.h index 1749be7e0508..a3ec0309db18 100644 --- a/lib/libomp/omp-tools.h +++ b/lib/libomp/omp-tools.h @@ -1,4 +1,3 @@ -// $FreeBSD$ /* * include/omp-tools.h.var */ @@ -109,7 +108,7 @@ macro (kmp_mutex_impl_queuing, 2) /* based on some fair policy */ \ macro (kmp_mutex_impl_speculative, 3) /* based on HW-supported speculation */ -#define FOREACH_OMPT_EVENT(macro) \ +#define FOREACH_OMPT_HOST_EVENT(macro) \ \ /*--- Mandatory Events ---*/ \ macro (ompt_callback_thread_begin, ompt_callback_thread_begin_t, 1) /* thread begin */ \ @@ -122,18 +121,8 @@ macro (ompt_callback_task_schedule, ompt_callback_task_schedule_t, 6) /* task schedule */ \ macro (ompt_callback_implicit_task, ompt_callback_implicit_task_t, 7) /* implicit task */ \ \ - macro (ompt_callback_target, ompt_callback_target_t, 8) /* target */ \ - macro (ompt_callback_target_data_op, ompt_callback_target_data_op_t, 9) /* target data op */ \ - macro (ompt_callback_target_submit, ompt_callback_target_submit_t, 10) /* target submit */ \ - \ macro (ompt_callback_control_tool, ompt_callback_control_tool_t, 11) /* control tool */ \ \ - macro (ompt_callback_device_initialize, ompt_callback_device_initialize_t, 12) /* device initialize */ \ - macro (ompt_callback_device_finalize, ompt_callback_device_finalize_t, 13) /* device finalize */ \ - \ - macro (ompt_callback_device_load, ompt_callback_device_load_t, 14) /* device load */ \ - macro (ompt_callback_device_unload, ompt_callback_device_unload_t, 15) /* device unload */ \ - \ /* Optional Events */ \ macro (ompt_callback_sync_region_wait, ompt_callback_sync_region_t, 16) /* sync region wait begin or end */ \ \ @@ -146,8 +135,6 @@ \ macro (ompt_callback_masked, ompt_callback_masked_t, 21) /* task at masked begin or end */ \ \ - macro (ompt_callback_target_map, ompt_callback_target_map_t, 22) /* target map */ \ - \ macro (ompt_callback_sync_region, ompt_callback_sync_region_t, 23) /* sync region begin or end */ \ \ macro (ompt_callback_lock_init, ompt_callback_mutex_acquire_t, 24) /* lock init */ \ @@ -165,11 +152,50 @@ macro (ompt_callback_reduction, ompt_callback_sync_region_t, 31) /* reduction */ \ \ macro (ompt_callback_dispatch, ompt_callback_dispatch_t, 32) /* dispatch of work */ \ + macro (ompt_callback_error, ompt_callback_error_t, 37) /* error */ + +#define FOREACH_OMPT_DEVICE_EVENT(macro) \ + /*--- Mandatory Events ---*/ \ + macro (ompt_callback_device_initialize, ompt_callback_device_initialize_t, 12) /* device initialize */ \ + macro (ompt_callback_device_finalize, ompt_callback_device_finalize_t, 13) /* device finalize */ \ + \ + macro (ompt_callback_device_load, ompt_callback_device_load_t, 14) /* device load */ \ + macro (ompt_callback_device_unload, ompt_callback_device_unload_t, 15) /* device unload */ + +#define FOREACH_OMPT_NOEMI_EVENT(macro) \ + /*--- Mandatory Events ---*/ \ + macro (ompt_callback_target, ompt_callback_target_t, 8) /* target */ \ + macro (ompt_callback_target_data_op, ompt_callback_target_data_op_t, 9) /* target data op */ \ + macro (ompt_callback_target_submit, ompt_callback_target_submit_t, 10) /* target submit */ \ + /* Optional Events */ \ + macro (ompt_callback_target_map, ompt_callback_target_map_t, 22) /* target map */ + +#define FOREACH_OMPT_EMI_EVENT(macro) \ + /*--- Mandatory Events ---*/ \ macro (ompt_callback_target_emi, ompt_callback_target_emi_t, 33) /* target */ \ macro (ompt_callback_target_data_op_emi,ompt_callback_target_data_op_emi_t,34) /* target data op */ \ macro (ompt_callback_target_submit_emi, ompt_callback_target_submit_emi_t, 35) /* target submit */ \ - macro (ompt_callback_target_map_emi, ompt_callback_target_map_emi_t, 36) /* target map */ \ - macro (ompt_callback_error, ompt_callback_error_t, 37) /* error */ + /* Optional Events */ \ + macro (ompt_callback_target_map_emi, ompt_callback_target_map_emi_t, 36) /* target map */ + +#define FOREACH_OMPT_50_TARGET_EVENT(macro) \ + FOREACH_OMPT_DEVICE_EVENT(macro) \ + FOREACH_OMPT_NOEMI_EVENT(macro) + +#define FOREACH_OMPT_51_TARGET_EVENT(macro) \ + FOREACH_OMPT_DEVICE_EVENT(macro) \ + FOREACH_OMPT_EMI_EVENT(macro) + +#define FOREACH_OMPT_EVENT(macro) \ + FOREACH_OMPT_HOST_EVENT(macro) \ + FOREACH_OMPT_DEVICE_EVENT(macro) \ + FOREACH_OMPT_NOEMI_EVENT(macro) \ + FOREACH_OMPT_EMI_EVENT(macro) + +#define FOREACH_OMPT_51_EVENT(macro) \ + FOREACH_OMPT_HOST_EVENT(macro) \ + FOREACH_OMPT_DEVICE_EVENT(macro) \ + FOREACH_OMPT_EMI_EVENT(macro) /***************************************************************************** * implementation specific types @@ -267,7 +293,10 @@ typedef enum ompt_scope_endpoint_t { typedef enum ompt_dispatch_t { ompt_dispatch_iteration = 1, - ompt_dispatch_section = 2 + ompt_dispatch_section = 2, + ompt_dispatch_ws_loop_chunk = 3, + ompt_dispatch_taskloop_chunk = 4, + ompt_dispatch_distribute_chunk = 5 } ompt_dispatch_t; typedef enum ompt_sync_region_t { @@ -304,7 +333,11 @@ typedef enum ompt_work_t { ompt_work_workshare = 5, ompt_work_distribute = 6, ompt_work_taskloop = 7, - ompt_work_scope = 8 + ompt_work_scope = 8, + ompt_work_loop_static = 10, + ompt_work_loop_dynamic = 11, + ompt_work_loop_guided = 12, + ompt_work_loop_other = 13 } ompt_work_t; typedef enum ompt_mutex_t { @@ -380,13 +413,15 @@ typedef enum ompt_target_map_flag_t { } ompt_target_map_flag_t; typedef enum ompt_dependence_type_t { - ompt_dependence_type_in = 1, - ompt_dependence_type_out = 2, - ompt_dependence_type_inout = 3, - ompt_dependence_type_mutexinoutset = 4, - ompt_dependence_type_source = 5, - ompt_dependence_type_sink = 6, - ompt_dependence_type_inoutset = 7 + ompt_dependence_type_in = 1, + ompt_dependence_type_out = 2, + ompt_dependence_type_inout = 3, + ompt_dependence_type_mutexinoutset = 4, + ompt_dependence_type_source = 5, + ompt_dependence_type_sink = 6, + ompt_dependence_type_inoutset = 7, + ompt_dependence_type_out_all_memory = 34, + ompt_dependence_type_inout_all_memory = 35 } ompt_dependence_type_t; typedef enum ompt_severity_t { @@ -555,6 +590,11 @@ typedef struct ompt_dependence_t { ompt_dependence_type_t dependence_type; } ompt_dependence_t; +typedef struct ompt_dispatch_chunk_t { + uint64_t start; + uint64_t iterations; +} ompt_dispatch_chunk_t; + typedef int (*ompt_enumerate_states_t) ( int current_state, int *next_state, @@ -746,7 +786,7 @@ typedef struct ompt_record_parallel_end_t { } ompt_record_parallel_end_t; typedef void (*ompt_callback_work_t) ( - ompt_work_t wstype, + ompt_work_t work_type, ompt_scope_endpoint_t endpoint, ompt_data_t *parallel_data, ompt_data_t *task_data, @@ -755,7 +795,7 @@ typedef void (*ompt_callback_work_t) ( ); typedef struct ompt_record_work_t { - ompt_work_t wstype; + ompt_work_t work_type; ompt_scope_endpoint_t endpoint; ompt_id_t parallel_id; ompt_id_t task_id; |