42#ifdef DEPRECATION_WARNINGS
44# define DEPRECATED_51 [[deprecated("as of 5.1")]]
46# define DEPRECATED_51 __attribute__((deprecated("as of 5.1")))
56#define FOREACH_OMPT_INQUIRY_FN(macro) \
57 macro (ompt_enumerate_states) \
58 macro (ompt_enumerate_mutex_impls) \
60 macro (ompt_set_callback) \
61 macro (ompt_get_callback) \
63 macro (ompt_get_state) \
65 macro (ompt_get_parallel_info) \
66 macro (ompt_get_task_info) \
67 macro (ompt_get_task_memory) \
68 macro (ompt_get_thread_data) \
69 macro (ompt_get_unique_id) \
70 macro (ompt_finalize_tool) \
72 macro(ompt_get_num_procs) \
73 macro(ompt_get_num_places) \
74 macro(ompt_get_place_proc_ids) \
75 macro(ompt_get_place_num) \
76 macro(ompt_get_partition_place_nums) \
77 macro(ompt_get_proc_id) \
79 macro(ompt_get_target_info) \
80 macro(ompt_get_num_devices)
82#define FOREACH_OMPT_STATE(macro) \
85 macro (ompt_state_undefined, 0x102) \
88 macro (ompt_state_work_serial, 0x000) \
89 macro (ompt_state_work_parallel, 0x001) \
90 macro (ompt_state_work_reduction, 0x002) \
93 macro (ompt_state_wait_barrier, 0x010) \
94 macro (ompt_state_wait_barrier_implicit_parallel, 0x011) \
96 macro (ompt_state_wait_barrier_implicit_workshare, 0x012) \
98 macro (ompt_state_wait_barrier_implicit, 0x013) \
99 macro (ompt_state_wait_barrier_explicit, 0x014) \
102 macro (ompt_state_wait_taskwait, 0x020) \
103 macro (ompt_state_wait_taskgroup, 0x021) \
106 macro (ompt_state_wait_mutex, 0x040) \
107 macro (ompt_state_wait_lock, 0x041) \
108 macro (ompt_state_wait_critical, 0x042) \
109 macro (ompt_state_wait_atomic, 0x043) \
110 macro (ompt_state_wait_ordered, 0x044) \
113 macro (ompt_state_wait_target, 0x080) \
114 macro (ompt_state_wait_target_map, 0x081) \
115 macro (ompt_state_wait_target_update, 0x082) \
118 macro (ompt_state_idle, 0x100) \
119 macro (ompt_state_overhead, 0x101) \
124#define FOREACH_KMP_MUTEX_IMPL(macro) \
125 macro (kmp_mutex_impl_none, 0) \
126 macro (kmp_mutex_impl_spin, 1) \
127 macro (kmp_mutex_impl_queuing, 2) \
128 macro (kmp_mutex_impl_speculative, 3)
130#define FOREACH_OMPT_EVENT(macro) \
133 macro (ompt_callback_thread_begin, ompt_callback_thread_begin_t, 1) \
134 macro (ompt_callback_thread_end, ompt_callback_thread_end_t, 2) \
136 macro (ompt_callback_parallel_begin, ompt_callback_parallel_begin_t, 3) \
137 macro (ompt_callback_parallel_end, ompt_callback_parallel_end_t, 4) \
139 macro (ompt_callback_task_create, ompt_callback_task_create_t, 5) \
140 macro (ompt_callback_task_schedule, ompt_callback_task_schedule_t, 6) \
141 macro (ompt_callback_implicit_task, ompt_callback_implicit_task_t, 7) \
143 macro (ompt_callback_target, ompt_callback_target_t, 8) \
144 macro (ompt_callback_target_data_op, ompt_callback_target_data_op_t, 9) \
145 macro (ompt_callback_target_submit, ompt_callback_target_submit_t, 10) \
147 macro (ompt_callback_control_tool, ompt_callback_control_tool_t, 11) \
149 macro (ompt_callback_device_initialize, ompt_callback_device_initialize_t, 12) \
150 macro (ompt_callback_device_finalize, ompt_callback_device_finalize_t, 13) \
152 macro (ompt_callback_device_load, ompt_callback_device_load_t, 14) \
153 macro (ompt_callback_device_unload, ompt_callback_device_unload_t, 15) \
156 macro (ompt_callback_sync_region_wait, ompt_callback_sync_region_t, 16) \
158 macro (ompt_callback_mutex_released, ompt_callback_mutex_t, 17) \
160 macro (ompt_callback_dependences, ompt_callback_dependences_t, 18) \
161 macro (ompt_callback_task_dependence, ompt_callback_task_dependence_t, 19) \
163 macro (ompt_callback_work, ompt_callback_work_t, 20) \
165 macro (ompt_callback_masked, ompt_callback_masked_t, 21) \
167 macro (ompt_callback_target_map, ompt_callback_target_map_t, 22) \
169 macro (ompt_callback_sync_region, ompt_callback_sync_region_t, 23) \
171 macro (ompt_callback_lock_init, ompt_callback_mutex_acquire_t, 24) \
172 macro (ompt_callback_lock_destroy, ompt_callback_mutex_t, 25) \
174 macro (ompt_callback_mutex_acquire, ompt_callback_mutex_acquire_t, 26) \
175 macro (ompt_callback_mutex_acquired, ompt_callback_mutex_t, 27) \
177 macro (ompt_callback_nest_lock, ompt_callback_nest_lock_t, 28) \
179 macro (ompt_callback_flush, ompt_callback_flush_t, 29) \
181 macro (ompt_callback_cancel, ompt_callback_cancel_t, 30) \
183 macro (ompt_callback_reduction, ompt_callback_sync_region_t, 31) \
185 macro (ompt_callback_dispatch, ompt_callback_dispatch_t, 32) \
186 macro (ompt_callback_target_emi, ompt_callback_target_emi_t, 33) \
187 macro (ompt_callback_target_data_op_emi,ompt_callback_target_data_op_emi_t,34) \
188 macro (ompt_callback_target_submit_emi, ompt_callback_target_submit_emi_t, 35) \
189 macro (ompt_callback_target_map_emi, ompt_callback_target_map_emi_t, 36) \
190 macro (ompt_callback_error, ompt_callback_error_t, 37) \
191 macro (ompt_callback_thread_role_shift, ompt_callback_thread_role_shift_t, 38)
198#define kmp_mutex_impl_macro(impl, code) impl = code,
200#undef kmp_mutex_impl_macro
518 const char *interface_function_name
559 int initial_device_num,
585 const char **next_state_name
591 const char **next_impl_name
651 uint64_t *device_num,
717typedef void *(*ompt_get_record_native_t) (
724(*ompt_get_record_abstract_t) (
751 unsigned int requested_parallelism,
753 const void *codeptr_ra
768 const void *codeptr_ra
784 const void *codeptr_ra
816 const void *codeptr_ra
865 unsigned int actual_parallelism,
883 const void *codeptr_ra
900 const void *codeptr_ra
916 const void *codeptr_ra
930 const void *codeptr_ra
942 const void *codeptr_ra
953 const void *codeptr_ra
963 const void *codeptr_ra
977 const char *documentation
986 const char *filename,
987 int64_t offset_in_file,
1009 int dest_device_num,
1011 const void *codeptr_ra
1021 int dest_device_num,
1023 const void *codeptr_ra
1045 const void *codeptr_ra
1054 const void *codeptr_ra
1068 unsigned int nitems,
1072 unsigned int *mapping_flags,
1073 const void *codeptr_ra
1078 unsigned int nitems,
1082 unsigned int *mapping_flags,
1083 const void *codeptr_ra
1100 unsigned int requested_num_teams
1106 unsigned int requested_num_teams
1120 const void *codeptr_ra
1131 const char *message,
size_t length,
1132 const void *codeptr_ra
1198#define ompt_id_none 0
1199#define ompt_data_none {0}
1200#define ompt_time_none 0
1201#define ompt_hwid_none 0
1202#define ompt_addr_none ~0
1203#define ompt_mutex_impl_none 0
1204#define ompt_wait_id_none 0
1206#define ompd_segment_none 0
Definition: omp-tools.h:1135
ompd_addr_t address
Definition: omp-tools.h:1137
ompd_seg_t segment
Definition: omp-tools.h:1136
Definition: omp-tools.h:1153
uint8_t sizeof_long
Definition: omp-tools.h:1157
uint8_t sizeof_long_long
Definition: omp-tools.h:1158
uint8_t sizeof_short
Definition: omp-tools.h:1155
uint8_t sizeof_int
Definition: omp-tools.h:1156
uint8_t sizeof_char
Definition: omp-tools.h:1154
uint8_t sizeof_pointer
Definition: omp-tools.h:1159
Definition: omp-tools.h:1140
ompd_address_t frame_address
Definition: omp-tools.h:1141
ompd_word_t frame_flag
Definition: omp-tools.h:1142
Definition: omp-tools.h:577
ompt_data_t variable
Definition: omp-tools.h:578
ompt_dependence_type_t dependence_type
Definition: omp-tools.h:579
Definition: omp-tools.h:526
ompt_data_t enter_frame
Definition: omp-tools.h:528
int exit_frame_flags
Definition: omp-tools.h:529
int enter_frame_flags
Definition: omp-tools.h:530
ompt_data_t exit_frame
Definition: omp-tools.h:527
Definition: omp-tools.h:569
ompt_device_time_t end_time
Definition: omp-tools.h:573
ompt_hwid_t hwid
Definition: omp-tools.h:574
ompt_device_time_t start_time
Definition: omp-tools.h:572
ompt_record_native_t rclass
Definition: omp-tools.h:570
const char * type
Definition: omp-tools.h:571
Definition: omp-tools.h:966
ompt_id_t task_id
Definition: omp-tools.h:967
const void * codeptr_ra
Definition: omp-tools.h:969
int flags
Definition: omp-tools.h:968
Definition: omp-tools.h:833
ompt_id_t task_id
Definition: omp-tools.h:834
int ndeps
Definition: omp-tools.h:836
ompt_dependence_t dep
Definition: omp-tools.h:835
Definition: omp-tools.h:803
ompt_id_t parallel_id
Definition: omp-tools.h:804
ompt_id_t task_id
Definition: omp-tools.h:805
ompt_data_t instance
Definition: omp-tools.h:807
ompt_dispatch_t kind
Definition: omp-tools.h:806
Definition: omp-tools.h:956
const void * codeptr_ra
Definition: omp-tools.h:957
Definition: omp-tools.h:870
ompt_id_t parallel_id
Definition: omp-tools.h:872
ompt_id_t task_id
Definition: omp-tools.h:873
ompt_scope_endpoint_t endpoint
Definition: omp-tools.h:871
unsigned int index
Definition: omp-tools.h:875
int flags
Definition: omp-tools.h:876
unsigned int actual_parallelism
Definition: omp-tools.h:874
Definition: omp-tools.h:888
ompt_id_t parallel_id
Definition: omp-tools.h:890
ompt_id_t task_id
Definition: omp-tools.h:891
ompt_scope_endpoint_t endpoint
Definition: omp-tools.h:889
const void * codeptr_ra
Definition: omp-tools.h:892
Definition: omp-tools.h:919
ompt_mutex_t kind
Definition: omp-tools.h:920
unsigned int impl
Definition: omp-tools.h:922
unsigned int hint
Definition: omp-tools.h:921
const void * codeptr_ra
Definition: omp-tools.h:924
ompt_wait_id_t wait_id
Definition: omp-tools.h:923
Definition: omp-tools.h:933
ompt_mutex_t kind
Definition: omp-tools.h:934
const void * codeptr_ra
Definition: omp-tools.h:936
ompt_wait_id_t wait_id
Definition: omp-tools.h:935
Definition: omp-tools.h:945
ompt_scope_endpoint_t endpoint
Definition: omp-tools.h:946
const void * codeptr_ra
Definition: omp-tools.h:948
ompt_wait_id_t wait_id
Definition: omp-tools.h:947
Definition: omp-tools.h:1162
ompt_record_masked_t masked
Definition: omp-tools.h:1178
ompt_record_control_tool_t control_tool
Definition: omp-tools.h:1189
ompt_record_flush_t flush
Definition: omp-tools.h:1183
ompt_record_dependences_t dependences
Definition: omp-tools.h:1174
ompt_record_task_schedule_t task_schedule
Definition: omp-tools.h:1176
ompt_record_target_kernel_t target_kernel
Definition: omp-tools.h:1188
ompt_record_task_dependence_t task_dependence
Definition: omp-tools.h:1175
ompt_id_t target_id
Definition: omp-tools.h:1166
ompt_record_dispatch_t dispatch
Definition: omp-tools.h:1172
ompt_callbacks_t type
Definition: omp-tools.h:1163
ompt_record_parallel_begin_t parallel_begin
Definition: omp-tools.h:1169
ompt_record_cancel_t cancel
Definition: omp-tools.h:1184
ompt_record_parallel_end_t parallel_end
Definition: omp-tools.h:1170
ompt_id_t thread_id
Definition: omp-tools.h:1165
ompt_record_target_t target
Definition: omp-tools.h:1185
ompt_record_mutex_t mutex
Definition: omp-tools.h:1181
ompt_record_implicit_task_t implicit_task
Definition: omp-tools.h:1177
ompt_record_work_t work
Definition: omp-tools.h:1171
ompt_record_target_data_op_t target_data_op
Definition: omp-tools.h:1186
ompt_record_nest_lock_t nest_lock
Definition: omp-tools.h:1182
ompt_record_sync_region_t sync_region
Definition: omp-tools.h:1179
ompt_record_thread_begin_t thread_begin
Definition: omp-tools.h:1168
ompt_record_target_map_t target_map
Definition: omp-tools.h:1187
union ompt_record_ompt_t::@23 record
ompt_record_task_create_t task_create
Definition: omp-tools.h:1173
ompt_record_mutex_acquire_t mutex_acquire
Definition: omp-tools.h:1180
ompt_device_time_t time
Definition: omp-tools.h:1164
Definition: omp-tools.h:756
ompt_id_t parallel_id
Definition: omp-tools.h:758
ompt_id_t encountering_task_id
Definition: omp-tools.h:757
const void * codeptr_ra
Definition: omp-tools.h:761
int flags
Definition: omp-tools.h:760
unsigned int requested_parallelism
Definition: omp-tools.h:759
Definition: omp-tools.h:771
ompt_id_t parallel_id
Definition: omp-tools.h:772
ompt_id_t encountering_task_id
Definition: omp-tools.h:773
const void * codeptr_ra
Definition: omp-tools.h:775
int flags
Definition: omp-tools.h:774
Definition: omp-tools.h:903
ompt_id_t parallel_id
Definition: omp-tools.h:906
ompt_id_t task_id
Definition: omp-tools.h:907
ompt_scope_endpoint_t endpoint
Definition: omp-tools.h:905
const void * codeptr_ra
Definition: omp-tools.h:908
ompt_sync_region_t kind
Definition: omp-tools.h:904
Definition: omp-tools.h:1026
ompt_device_time_t end_time
Definition: omp-tools.h:1034
ompt_id_t host_op_id
Definition: omp-tools.h:1027
ompt_target_data_op_t optype
Definition: omp-tools.h:1028
int dest_device_num
Definition: omp-tools.h:1032
void * dest_addr
Definition: omp-tools.h:1031
const void * codeptr_ra
Definition: omp-tools.h:1035
int src_device_num
Definition: omp-tools.h:1030
size_t bytes
Definition: omp-tools.h:1033
void * src_addr
Definition: omp-tools.h:1029
Definition: omp-tools.h:1109
ompt_device_time_t end_time
Definition: omp-tools.h:1113
unsigned int granted_num_teams
Definition: omp-tools.h:1112
ompt_id_t host_op_id
Definition: omp-tools.h:1110
unsigned int requested_num_teams
Definition: omp-tools.h:1111
Definition: omp-tools.h:1086
unsigned int nitems
Definition: omp-tools.h:1088
void ** host_addr
Definition: omp-tools.h:1089
size_t * bytes
Definition: omp-tools.h:1091
ompt_id_t target_id
Definition: omp-tools.h:1087
const void * codeptr_ra
Definition: omp-tools.h:1093
unsigned int * mapping_flags
Definition: omp-tools.h:1092
void ** device_addr
Definition: omp-tools.h:1090
Definition: omp-tools.h:1057
ompt_target_t kind
Definition: omp-tools.h:1058
ompt_id_t task_id
Definition: omp-tools.h:1061
ompt_id_t target_id
Definition: omp-tools.h:1062
ompt_scope_endpoint_t endpoint
Definition: omp-tools.h:1059
const void * codeptr_ra
Definition: omp-tools.h:1063
int device_num
Definition: omp-tools.h:1060
Definition: omp-tools.h:819
int has_dependences
Definition: omp-tools.h:823
ompt_id_t new_task_id
Definition: omp-tools.h:821
ompt_id_t encountering_task_id
Definition: omp-tools.h:820
const void * codeptr_ra
Definition: omp-tools.h:824
int flags
Definition: omp-tools.h:822
Definition: omp-tools.h:844
ompt_id_t sink_task_id
Definition: omp-tools.h:846
ompt_id_t src_task_id
Definition: omp-tools.h:845
Definition: omp-tools.h:855
ompt_task_status_t prior_task_status
Definition: omp-tools.h:857
ompt_id_t prior_task_id
Definition: omp-tools.h:856
ompt_id_t next_task_id
Definition: omp-tools.h:858
Definition: omp-tools.h:733
ompt_thread_t thread_type
Definition: omp-tools.h:734
Definition: omp-tools.h:787
ompt_id_t parallel_id
Definition: omp-tools.h:790
ompt_id_t task_id
Definition: omp-tools.h:791
ompt_scope_endpoint_t endpoint
Definition: omp-tools.h:789
const void * codeptr_ra
Definition: omp-tools.h:793
ompt_work_t wstype
Definition: omp-tools.h:788
uint64_t count
Definition: omp-tools.h:792
Definition: omp-tools.h:521
uint64_t value
Definition: omp-tools.h:522
void * ptr
Definition: omp-tools.h:523