108108 macro (kmp_mutex_impl_queuing , 2 ) /* based on some fair policy */ \
109109 macro (kmp_mutex_impl_speculative , 3 ) /* based on HW-supported speculation */
110110
111- #define FOREACH_OMPT_EVENT (macro ) \
111+ #define FOREACH_OMPT_HOST_EVENT (macro ) \
112112 \
113113 /*--- Mandatory Events ---*/ \
114114 macro (ompt_callback_thread_begin , ompt_callback_thread_begin_t , 1 ) /* thread begin */ \
121121 macro (ompt_callback_task_schedule , ompt_callback_task_schedule_t , 6 ) /* task schedule */ \
122122 macro (ompt_callback_implicit_task , ompt_callback_implicit_task_t , 7 ) /* implicit task */ \
123123 \
124- macro (ompt_callback_target , ompt_callback_target_t , 8 ) /* target */ \
125- macro (ompt_callback_target_data_op , ompt_callback_target_data_op_t , 9 ) /* target data op */ \
126- macro (ompt_callback_target_submit , ompt_callback_target_submit_t , 10 ) /* target submit */ \
127- \
128124 macro (ompt_callback_control_tool , ompt_callback_control_tool_t , 11 ) /* control tool */ \
129125 \
130- macro (ompt_callback_device_initialize , ompt_callback_device_initialize_t , 12 ) /* device initialize */ \
131- macro (ompt_callback_device_finalize , ompt_callback_device_finalize_t , 13 ) /* device finalize */ \
132- \
133- macro (ompt_callback_device_load , ompt_callback_device_load_t , 14 ) /* device load */ \
134- macro (ompt_callback_device_unload , ompt_callback_device_unload_t , 15 ) /* device unload */ \
135- \
136126 /* Optional Events */ \
137127 macro (ompt_callback_sync_region_wait , ompt_callback_sync_region_t , 16 ) /* sync region wait begin or end */ \
138128 \
145135 \
146136 macro (ompt_callback_masked , ompt_callback_masked_t , 21 ) /* task at masked begin or end */ \
147137 \
148- macro (ompt_callback_target_map , ompt_callback_target_map_t , 22 ) /* target map */ \
149- \
150138 macro (ompt_callback_sync_region , ompt_callback_sync_region_t , 23 ) /* sync region begin or end */ \
151139 \
152140 macro (ompt_callback_lock_init , ompt_callback_mutex_acquire_t , 24 ) /* lock init */ \
164152 macro (ompt_callback_reduction , ompt_callback_sync_region_t , 31 ) /* reduction */ \
165153 \
166154 macro (ompt_callback_dispatch , ompt_callback_dispatch_t , 32 ) /* dispatch of work */ \
155+ macro (ompt_callback_error , ompt_callback_error_t , 37 ) /* error */
156+
157+ #define FOREACH_OMPT_DEVICE_EVENT (macro ) \
158+ /*--- Mandatory Events ---*/ \
159+ macro (ompt_callback_device_initialize , ompt_callback_device_initialize_t , 12 ) /* device initialize */ \
160+ macro (ompt_callback_device_finalize , ompt_callback_device_finalize_t , 13 ) /* device finalize */ \
161+ \
162+ macro (ompt_callback_device_load , ompt_callback_device_load_t , 14 ) /* device load */ \
163+ macro (ompt_callback_device_unload , ompt_callback_device_unload_t , 15 ) /* device unload */
164+
165+ #define FOREACH_OMPT_NOEMI_EVENT (macro ) \
166+ /*--- Mandatory Events ---*/ \
167+ macro (ompt_callback_target , ompt_callback_target_t , 8 ) /* target */ \
168+ macro (ompt_callback_target_data_op , ompt_callback_target_data_op_t , 9 ) /* target data op */ \
169+ macro (ompt_callback_target_submit , ompt_callback_target_submit_t , 10 ) /* target submit */ \
170+ /* Optional Events */ \
171+ macro (ompt_callback_target_map , ompt_callback_target_map_t , 22 ) /* target map */
172+
173+ #define FOREACH_OMPT_EMI_EVENT (macro ) \
174+ /*--- Mandatory Events ---*/ \
167175 macro (ompt_callback_target_emi , ompt_callback_target_emi_t , 33 ) /* target */ \
168176 macro (ompt_callback_target_data_op_emi ,ompt_callback_target_data_op_emi_t ,34 ) /* target data op */ \
169177 macro (ompt_callback_target_submit_emi , ompt_callback_target_submit_emi_t , 35 ) /* target submit */ \
170- macro (ompt_callback_target_map_emi , ompt_callback_target_map_emi_t , 36 ) /* target map */ \
171- macro (ompt_callback_error , ompt_callback_error_t , 37 ) /* error */
178+ /* Optional Events */ \
179+ macro (ompt_callback_target_map_emi , ompt_callback_target_map_emi_t , 36 ) /* target map */
180+
181+ #define FOREACH_OMPT_50_TARGET_EVENT (macro ) \
182+ FOREACH_OMPT_DEVICE_EVENT (macro ) \
183+ FOREACH_OMPT_NOEMI_EVENT (macro )
184+
185+ #define FOREACH_OMPT_51_TARGET_EVENT (macro ) \
186+ FOREACH_OMPT_DEVICE_EVENT (macro ) \
187+ FOREACH_OMPT_EMI_EVENT (macro )
188+
189+ #define FOREACH_OMPT_EVENT (macro ) \
190+ FOREACH_OMPT_HOST_EVENT (macro ) \
191+ FOREACH_OMPT_DEVICE_EVENT (macro ) \
192+ FOREACH_OMPT_NOEMI_EVENT (macro ) \
193+ FOREACH_OMPT_EMI_EVENT (macro )
194+
195+ #define FOREACH_OMPT_51_EVENT (macro ) \
196+ FOREACH_OMPT_HOST_EVENT (macro ) \
197+ FOREACH_OMPT_DEVICE_EVENT (macro ) \
198+ FOREACH_OMPT_EMI_EVENT (macro )
172199
173200/*****************************************************************************
174201 * implementation specific types
@@ -266,7 +293,10 @@ typedef enum ompt_scope_endpoint_t {
266293
267294typedef enum ompt_dispatch_t {
268295 ompt_dispatch_iteration = 1 ,
269- ompt_dispatch_section = 2
296+ ompt_dispatch_section = 2 ,
297+ ompt_dispatch_ws_loop_chunk = 3 ,
298+ ompt_dispatch_taskloop_chunk = 4 ,
299+ ompt_dispatch_distribute_chunk = 5
270300} ompt_dispatch_t ;
271301
272302typedef enum ompt_sync_region_t {
@@ -303,7 +333,11 @@ typedef enum ompt_work_t {
303333 ompt_work_workshare = 5 ,
304334 ompt_work_distribute = 6 ,
305335 ompt_work_taskloop = 7 ,
306- ompt_work_scope = 8
336+ ompt_work_scope = 8 ,
337+ ompt_work_loop_static = 10 ,
338+ ompt_work_loop_dynamic = 11 ,
339+ ompt_work_loop_guided = 12 ,
340+ ompt_work_loop_other = 13
307341} ompt_work_t ;
308342
309343typedef enum ompt_mutex_t {
@@ -379,13 +413,15 @@ typedef enum ompt_target_map_flag_t {
379413} ompt_target_map_flag_t ;
380414
381415typedef enum ompt_dependence_type_t {
382- ompt_dependence_type_in = 1 ,
383- ompt_dependence_type_out = 2 ,
384- ompt_dependence_type_inout = 3 ,
385- ompt_dependence_type_mutexinoutset = 4 ,
386- ompt_dependence_type_source = 5 ,
387- ompt_dependence_type_sink = 6 ,
388- ompt_dependence_type_inoutset = 7
416+ ompt_dependence_type_in = 1 ,
417+ ompt_dependence_type_out = 2 ,
418+ ompt_dependence_type_inout = 3 ,
419+ ompt_dependence_type_mutexinoutset = 4 ,
420+ ompt_dependence_type_source = 5 ,
421+ ompt_dependence_type_sink = 6 ,
422+ ompt_dependence_type_inoutset = 7 ,
423+ ompt_dependence_type_out_all_memory = 34 ,
424+ ompt_dependence_type_inout_all_memory = 35
389425} ompt_dependence_type_t ;
390426
391427typedef enum ompt_severity_t {
@@ -554,6 +590,11 @@ typedef struct ompt_dependence_t {
554590 ompt_dependence_type_t dependence_type ;
555591} ompt_dependence_t ;
556592
593+ typedef struct ompt_dispatch_chunk_t {
594+ uint64_t start ;
595+ uint64_t iterations ;
596+ } ompt_dispatch_chunk_t ;
597+
557598typedef int (* ompt_enumerate_states_t ) (
558599 int current_state ,
559600 int * next_state ,
@@ -745,7 +786,7 @@ typedef struct ompt_record_parallel_end_t {
745786} ompt_record_parallel_end_t ;
746787
747788typedef void (* ompt_callback_work_t ) (
748- ompt_work_t wstype ,
789+ ompt_work_t work_type ,
749790 ompt_scope_endpoint_t endpoint ,
750791 ompt_data_t * parallel_data ,
751792 ompt_data_t * task_data ,
@@ -754,7 +795,7 @@ typedef void (*ompt_callback_work_t) (
754795);
755796
756797typedef struct ompt_record_work_t {
757- ompt_work_t wstype ;
798+ ompt_work_t work_type ;
758799 ompt_scope_endpoint_t endpoint ;
759800 ompt_id_t parallel_id ;
760801 ompt_id_t task_id ;
0 commit comments