25#include <rocprofiler-sdk/defines.h>
27#include <rocprofiler-sdk/ompt/omp-tools.h>
31ROCPROFILER_EXTERN_C_INIT
34typedef struct rocprofiler_ompt_callback_functions_t
36 ompt_enumerate_states_t ompt_enumerate_states;
37 ompt_enumerate_mutex_impls_t ompt_enumerate_mutex_impls;
38 ompt_get_thread_data_t ompt_get_thread_data;
39 ompt_get_num_places_t ompt_get_num_places;
40 ompt_get_place_proc_ids_t ompt_get_place_proc_ids;
41 ompt_get_place_num_t ompt_get_place_num;
42 ompt_get_partition_place_nums_t ompt_get_partition_place_nums;
43 ompt_get_proc_id_t ompt_get_proc_id;
44 ompt_get_state_t ompt_get_state;
45 ompt_get_parallel_info_t ompt_get_parallel_info;
46 ompt_get_task_info_t ompt_get_task_info;
47 ompt_get_task_memory_t ompt_get_task_memory;
48 ompt_get_num_devices_t ompt_get_num_devices;
49 ompt_get_num_procs_t ompt_get_num_procs;
50 ompt_get_target_info_t ompt_get_target_info;
51 ompt_get_unique_id_t ompt_get_unique_id;
52} rocprofiler_ompt_callback_functions_t;
57typedef struct rocprofiler_ompt_no_args
60} rocprofiler_ompt_no_args;
62typedef union rocprofiler_ompt_args_t
72 ompt_thread_t thread_type;
73 ompt_data_t* thread_data;
78 ompt_data_t* thread_data;
83 ompt_data_t* encountering_task_data;
84 const ompt_frame_t* encountering_task_frame;
85 ompt_data_t* parallel_data;
86 unsigned int requested_parallelism;
88 const void* codeptr_ra;
93 ompt_data_t* parallel_data;
94 ompt_data_t* encountering_task_data;
96 const void* codeptr_ra;
101 ompt_data_t* encountering_task_data;
102 const ompt_frame_t* encountering_task_frame;
103 ompt_data_t* new_task_data;
106 const void* codeptr_ra;
111 ompt_data_t* prior_task_data;
112 ompt_task_status_t prior_task_status;
113 ompt_data_t* next_task_data;
118 ompt_scope_endpoint_t endpoint;
119 ompt_data_t* parallel_data;
120 ompt_data_t* task_data;
121 unsigned int actual_parallelism;
130 ompt_device_t* device;
131 ompt_function_lookup_t lookup;
132 const char* documentation;
143 const char* filename;
144 int64_t offset_in_file;
160 ompt_sync_region_t kind;
161 ompt_scope_endpoint_t endpoint;
162 ompt_data_t* parallel_data;
163 ompt_data_t* task_data;
164 const void* codeptr_ra;
170 ompt_wait_id_t wait_id;
171 const void* codeptr_ra;
176 ompt_data_t* task_data;
177 const ompt_dependence_t* deps;
183 ompt_data_t* src_task_data;
184 ompt_data_t* sink_task_data;
189 ompt_work_t work_type;
190 ompt_scope_endpoint_t endpoint;
191 ompt_data_t* parallel_data;
192 ompt_data_t* task_data;
194 const void* codeptr_ra;
199 ompt_scope_endpoint_t endpoint;
200 ompt_data_t* parallel_data;
201 ompt_data_t* task_data;
202 const void* codeptr_ra;
207 ompt_sync_region_t kind;
208 ompt_scope_endpoint_t endpoint;
209 ompt_data_t* parallel_data;
210 ompt_data_t* task_data;
211 const void* codeptr_ra;
219 ompt_wait_id_t wait_id;
220 const void* codeptr_ra;
226 ompt_wait_id_t wait_id;
227 const void* codeptr_ra;
235 ompt_wait_id_t wait_id;
236 const void* codeptr_ra;
242 ompt_wait_id_t wait_id;
243 const void* codeptr_ra;
248 ompt_scope_endpoint_t endpoint;
249 ompt_wait_id_t wait_id;
250 const void* codeptr_ra;
255 ompt_data_t* thread_data;
256 const void* codeptr_ra;
261 ompt_data_t* task_data;
263 const void* codeptr_ra;
268 ompt_sync_region_t kind;
269 ompt_scope_endpoint_t endpoint;
270 ompt_data_t* parallel_data;
271 ompt_data_t* task_data;
272 const void* codeptr_ra;
277 ompt_data_t* parallel_data;
278 ompt_data_t* task_data;
279 ompt_dispatch_t kind;
280 ompt_data_t instance;
286 ompt_scope_endpoint_t endpoint;
288 ompt_data_t* task_data;
289 ompt_data_t* target_task_data;
290 ompt_data_t* target_data;
291 const void* codeptr_ra;
296 ompt_scope_endpoint_t endpoint;
297 ompt_data_t* target_task_data;
298 ompt_data_t* target_data;
299 ompt_data_t* host_op_id;
300 ompt_target_data_op_t optype;
306 const void* codeptr_ra;
307 } target_data_op_emi;
311 ompt_scope_endpoint_t endpoint;
312 ompt_data_t* target_data;
313 ompt_data_t* host_op_id;
314 unsigned int requested_num_teams;
329 ompt_severity_t severity;
332 const void* codeptr_ra;
335 rocprofiler_ompt_callback_functions_t callback_functions;
337} rocprofiler_ompt_args_t;
339ROCPROFILER_EXTERN_C_FINI