Dynamic Load Balance 3.6.1+32-59d1
omp-tools.h
Go to the documentation of this file.
1/*********************************************************************************/
2/* Copyright 2009-2021 Barcelona Supercomputing Center */
3/* */
4/* This file is part of the DLB library. */
5/* */
6/* DLB is free software: you can redistribute it and/or modify */
7/* it under the terms of the GNU Lesser General Public License as published by */
8/* the Free Software Foundation, either version 3 of the License, or */
9/* (at your option) any later version. */
10/* */
11/* DLB is distributed in the hope that it will be useful, */
12/* but WITHOUT ANY WARRANTY; without even the implied warranty of */
13/* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the */
14/* GNU Lesser General Public License for more details. */
15/* */
16/* You should have received a copy of the GNU Lesser General Public License */
17/* along with DLB. If not, see <https://www.gnu.org/licenses/>. */
18/*********************************************************************************/
19
20/*
21 * include/omp-tools.h.var
22 */
23
24//===----------------------------------------------------------------------===//
25//
26// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
27// See https://llvm.org/LICENSE.txt for license information.
28// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
29//
30//===----------------------------------------------------------------------===//
31
32#ifndef __OMPT__
33#define __OMPT__
34
35/*****************************************************************************
36 * system include files
37 *****************************************************************************/
38
39#include <stdint.h>
40#include <stddef.h>
41
42#ifdef DEPRECATION_WARNINGS
43# ifdef __cplusplus
44# define DEPRECATED_51 [[deprecated("as of 5.1")]]
45# else
46# define DEPRECATED_51 __attribute__((deprecated("as of 5.1")))
47#endif
48#else
49#define DEPRECATED_51
50#endif
51
52/*****************************************************************************
53 * iteration macros
54 *****************************************************************************/
55
56#define FOREACH_OMPT_INQUIRY_FN(macro) \
57 macro (ompt_enumerate_states) \
58 macro (ompt_enumerate_mutex_impls) \
59 \
60 macro (ompt_set_callback) \
61 macro (ompt_get_callback) \
62 \
63 macro (ompt_get_state) \
64 \
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) \
71 \
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) \
78 \
79 macro(ompt_get_target_info) \
80 macro(ompt_get_num_devices)
81
82#define FOREACH_OMPT_STATE(macro) \
83 \
84 /* first available state */ \
85 macro (ompt_state_undefined, 0x102) /* undefined thread state */ \
86 \
87 /* work states (0..15) */ \
88 macro (ompt_state_work_serial, 0x000) /* working outside parallel */ \
89 macro (ompt_state_work_parallel, 0x001) /* working within parallel */ \
90 macro (ompt_state_work_reduction, 0x002) /* performing a reduction */ \
91 \
92 /* barrier wait states (16..31) */ \
93 macro (ompt_state_wait_barrier, 0x010) /* waiting at a barrier */ \
94 macro (ompt_state_wait_barrier_implicit_parallel, 0x011) \
95 /* implicit barrier at the end of parallel region */\
96 macro (ompt_state_wait_barrier_implicit_workshare, 0x012) \
97 /* implicit barrier at the end of worksharing */ \
98 macro (ompt_state_wait_barrier_implicit, 0x013) /* implicit barrier */ \
99 macro (ompt_state_wait_barrier_explicit, 0x014) /* explicit barrier */ \
100 \
101 /* task wait states (32..63) */ \
102 macro (ompt_state_wait_taskwait, 0x020) /* waiting at a taskwait */ \
103 macro (ompt_state_wait_taskgroup, 0x021) /* waiting at a taskgroup */ \
104 \
105 /* mutex wait states (64..127) */ \
106 macro (ompt_state_wait_mutex, 0x040) \
107 macro (ompt_state_wait_lock, 0x041) /* waiting for lock */ \
108 macro (ompt_state_wait_critical, 0x042) /* waiting for critical */ \
109 macro (ompt_state_wait_atomic, 0x043) /* waiting for atomic */ \
110 macro (ompt_state_wait_ordered, 0x044) /* waiting for ordered */ \
111 \
112 /* target wait states (128..255) */ \
113 macro (ompt_state_wait_target, 0x080) /* waiting for target region */ \
114 macro (ompt_state_wait_target_map, 0x081) /* waiting for target data mapping operation */ \
115 macro (ompt_state_wait_target_update, 0x082) /* waiting for target update operation */ \
116 \
117 /* misc (256..511) */ \
118 macro (ompt_state_idle, 0x100) /* waiting for work */ \
119 macro (ompt_state_overhead, 0x101) /* overhead excluding wait states */ \
120 \
121 /* implementation-specific states (512..) */
122
123
124#define FOREACH_KMP_MUTEX_IMPL(macro) \
125 macro (kmp_mutex_impl_none, 0) /* unknown implementation */ \
126 macro (kmp_mutex_impl_spin, 1) /* based on spin */ \
127 macro (kmp_mutex_impl_queuing, 2) /* based on some fair policy */ \
128 macro (kmp_mutex_impl_speculative, 3) /* based on HW-supported speculation */
129
130#define FOREACH_OMPT_EVENT(macro) \
131 \
132 /*--- Mandatory Events ---*/ \
133 macro (ompt_callback_thread_begin, ompt_callback_thread_begin_t, 1) /* thread begin */ \
134 macro (ompt_callback_thread_end, ompt_callback_thread_end_t, 2) /* thread end */ \
135 \
136 macro (ompt_callback_parallel_begin, ompt_callback_parallel_begin_t, 3) /* parallel begin */ \
137 macro (ompt_callback_parallel_end, ompt_callback_parallel_end_t, 4) /* parallel end */ \
138 \
139 macro (ompt_callback_task_create, ompt_callback_task_create_t, 5) /* task begin */ \
140 macro (ompt_callback_task_schedule, ompt_callback_task_schedule_t, 6) /* task schedule */ \
141 macro (ompt_callback_implicit_task, ompt_callback_implicit_task_t, 7) /* implicit task */ \
142 \
143 macro (ompt_callback_target, ompt_callback_target_t, 8) /* target */ \
144 macro (ompt_callback_target_data_op, ompt_callback_target_data_op_t, 9) /* target data op */ \
145 macro (ompt_callback_target_submit, ompt_callback_target_submit_t, 10) /* target submit */ \
146 \
147 macro (ompt_callback_control_tool, ompt_callback_control_tool_t, 11) /* control tool */ \
148 \
149 macro (ompt_callback_device_initialize, ompt_callback_device_initialize_t, 12) /* device initialize */ \
150 macro (ompt_callback_device_finalize, ompt_callback_device_finalize_t, 13) /* device finalize */ \
151 \
152 macro (ompt_callback_device_load, ompt_callback_device_load_t, 14) /* device load */ \
153 macro (ompt_callback_device_unload, ompt_callback_device_unload_t, 15) /* device unload */ \
154 \
155 /* Optional Events */ \
156 macro (ompt_callback_sync_region_wait, ompt_callback_sync_region_t, 16) /* sync region wait begin or end */ \
157 \
158 macro (ompt_callback_mutex_released, ompt_callback_mutex_t, 17) /* mutex released */ \
159 \
160 macro (ompt_callback_dependences, ompt_callback_dependences_t, 18) /* report task dependences */ \
161 macro (ompt_callback_task_dependence, ompt_callback_task_dependence_t, 19) /* report task dependence */ \
162 \
163 macro (ompt_callback_work, ompt_callback_work_t, 20) /* task at work begin or end */ \
164 \
165 macro (ompt_callback_masked, ompt_callback_masked_t, 21) /* task at masked begin or end */ \
166 \
167 macro (ompt_callback_target_map, ompt_callback_target_map_t, 22) /* target map */ \
168 \
169 macro (ompt_callback_sync_region, ompt_callback_sync_region_t, 23) /* sync region begin or end */ \
170 \
171 macro (ompt_callback_lock_init, ompt_callback_mutex_acquire_t, 24) /* lock init */ \
172 macro (ompt_callback_lock_destroy, ompt_callback_mutex_t, 25) /* lock destroy */ \
173 \
174 macro (ompt_callback_mutex_acquire, ompt_callback_mutex_acquire_t, 26) /* mutex acquire */ \
175 macro (ompt_callback_mutex_acquired, ompt_callback_mutex_t, 27) /* mutex acquired */ \
176 \
177 macro (ompt_callback_nest_lock, ompt_callback_nest_lock_t, 28) /* nest lock */ \
178 \
179 macro (ompt_callback_flush, ompt_callback_flush_t, 29) /* after executing flush */ \
180 \
181 macro (ompt_callback_cancel, ompt_callback_cancel_t, 30) /* cancel innermost binding region */ \
182 \
183 macro (ompt_callback_reduction, ompt_callback_sync_region_t, 31) /* reduction */ \
184 \
185 macro (ompt_callback_dispatch, ompt_callback_dispatch_t, 32) /* dispatch of work */ \
186 macro (ompt_callback_target_emi, ompt_callback_target_emi_t, 33) /* target */ \
187 macro (ompt_callback_target_data_op_emi,ompt_callback_target_data_op_emi_t,34) /* target data op */ \
188 macro (ompt_callback_target_submit_emi, ompt_callback_target_submit_emi_t, 35) /* target submit */ \
189 macro (ompt_callback_target_map_emi, ompt_callback_target_map_emi_t, 36) /* target map */ \
190 macro (ompt_callback_error, ompt_callback_error_t, 37) /* error */ \
191 macro (ompt_callback_thread_role_shift, ompt_callback_thread_role_shift_t, 38) /* thread_shifting_role */
192
193/*****************************************************************************
194 * implementation specific types
195 *****************************************************************************/
196
197typedef enum kmp_mutex_impl_t {
198#define kmp_mutex_impl_macro(impl, code) impl = code,
200#undef kmp_mutex_impl_macro
202
203/*****************************************************************************
204 * definitions generated from spec
205 *****************************************************************************/
206
207typedef enum ompt_callbacks_t {
228 ompt_callback_master DEPRECATED_51 = 21,
248
249typedef enum ompt_record_t {
254
255typedef enum ompt_role_t {
258 OMP_ROLE_COMMUNICATOR = 1 << 1
260
265
266typedef enum ompt_set_result_t {
274
275typedef uint64_t ompt_id_t;
276
277typedef uint64_t ompt_device_time_t;
278
279typedef uint64_t ompt_buffer_cursor_t;
280
281typedef enum ompt_thread_t {
287
293
294typedef enum ompt_dispatch_t {
298
299typedef enum ompt_sync_region_t {
300 ompt_sync_region_barrier DEPRECATED_51 = 1,
301 ompt_sync_region_barrier_implicit DEPRECATED_51 = 2,
311
324
325typedef enum ompt_work_t {
335
336typedef enum ompt_mutex_t {
345
356
357typedef enum ompt_task_flag_t {
358 ompt_task_initial = 0x00000001,
359 ompt_task_implicit = 0x00000002,
360 ompt_task_explicit = 0x00000004,
361 ompt_task_target = 0x00000008,
362 ompt_task_taskwait = 0x00000010,
364 ompt_task_untied = 0x10000000,
365 ompt_task_final = 0x20000000,
367 ompt_task_merged = 0x80000000
369
370typedef enum ompt_task_status_t {
380
381typedef enum ompt_target_t {
391
396 ompt_parallel_team = 0x80000000
398
407
417
418typedef enum ompt_severity_t {
420 ompt_fatal = 2
422
423typedef enum ompt_cancel_flag_t {
432
433typedef uint64_t ompt_hwid_t;
434
435typedef uint64_t ompt_wait_id_t;
436
437typedef enum ompt_frame_flag_t {
444
445typedef enum ompt_state_t {
449
450 ompt_state_wait_barrier DEPRECATED_51 = 0x010,
453 ompt_state_wait_barrier_implicit DEPRECATED_51 = 0x013,
457
460
466
470
475
476typedef uint64_t (*ompt_get_unique_id_t) (void);
477
478typedef uint64_t ompd_size_t;
479
480typedef uint64_t ompd_wait_id_t;
481
482typedef uint64_t ompd_addr_t;
483typedef int64_t ompd_word_t;
484typedef uint64_t ompd_seg_t;
485
486typedef uint64_t ompd_device_t;
487
488typedef uint64_t ompd_thread_id_t;
489
490typedef enum ompd_scope_t {
498
499typedef uint64_t ompd_icv_id_t;
500
501typedef enum ompd_rc_t {
513} ompd_rc_t;
514
515typedef void (*ompt_interface_fn_t) (void);
516
518 const char *interface_function_name
519);
520
521typedef union ompt_data_t {
522 uint64_t value;
523 void *ptr;
525
526typedef struct ompt_frame_t {
532
533typedef void (*ompt_callback_t) (void);
534
535typedef void ompt_device_t;
536
537typedef void ompt_buffer_t;
538
540 int device_num,
541 ompt_buffer_t **buffer,
542 size_t *bytes
543);
544
546 int device_num,
547 ompt_buffer_t *buffer,
548 size_t bytes,
550 int buffer_owned
551);
552
553typedef void (*ompt_finalize_t) (
554 ompt_data_t *tool_data
555);
556
557typedef int (*ompt_initialize_t) (
559 int initial_device_num,
560 ompt_data_t *tool_data
561);
562
568
571 const char *type;
576
577typedef struct ompt_dependence_t {
581
583 int current_state,
584 int *next_state,
585 const char **next_state_name
586);
587
589 int current_impl,
590 int *next_impl,
591 const char **next_impl_name
592);
593
595 ompt_callbacks_t event,
596 ompt_callback_t callback
597);
598
599typedef int (*ompt_get_callback_t) (
600 ompt_callbacks_t event,
601 ompt_callback_t *callback
602);
603
604typedef ompt_data_t *(*ompt_get_thread_data_t) (void);
605
606typedef int (*ompt_get_num_procs_t) (void);
607
608typedef int (*ompt_get_num_places_t) (void);
609
611 int place_num,
612 int ids_size,
613 int *ids
614);
615
616typedef int (*ompt_get_place_num_t) (void);
617
619 int place_nums_size,
620 int *place_nums
621);
622
623typedef int (*ompt_get_proc_id_t) (void);
624
625typedef int (*ompt_get_state_t) (
626 ompt_wait_id_t *wait_id
627);
628
630 int ancestor_level,
631 ompt_data_t **parallel_data,
632 int *team_size
633);
634
635typedef int (*ompt_get_task_info_t) (
636 int ancestor_level,
637 int *flags,
638 ompt_data_t **task_data,
639 ompt_frame_t **task_frame,
640 ompt_data_t **parallel_data,
641 int *thread_num
642);
643
645 void **addr,
646 size_t *size,
647 int block
648);
649
651 uint64_t *device_num,
652 ompt_id_t *target_id,
653 ompt_id_t *host_op_id
654);
655
656typedef int (*ompt_get_num_devices_t) (void);
657
658typedef void (*ompt_finalize_tool_t) (void);
659
661 ompt_device_t *device
662);
663
665 ompt_device_t *device
666);
667
668typedef double (*ompt_translate_time_t) (
669 ompt_device_t *device,
671);
672
674 ompt_device_t *device,
675 unsigned int enable,
676 unsigned int etype
677);
678
680 ompt_device_t *device,
681 int enable,
682 int flags
683);
684
685typedef int (*ompt_start_trace_t) (
686 ompt_device_t *device,
689);
690
691typedef int (*ompt_pause_trace_t) (
692 ompt_device_t *device,
693 int begin_pause
694);
695
696typedef int (*ompt_flush_trace_t) (
697 ompt_device_t *device
698);
699
700typedef int (*ompt_stop_trace_t) (
701 ompt_device_t *device
702);
703
705 ompt_device_t *device,
706 ompt_buffer_t *buffer,
707 size_t size,
708 ompt_buffer_cursor_t current,
710);
711
713 ompt_buffer_t *buffer,
715);
716
717typedef void *(*ompt_get_record_native_t) (
718 ompt_buffer_t *buffer,
719 ompt_buffer_cursor_t current,
720 ompt_id_t *host_op_id
721);
722
724(*ompt_get_record_abstract_t) (
725 void *native_record
726);
727
729 ompt_thread_t thread_type,
730 ompt_data_t *thread_data
731);
732
736
738 ompt_data_t *thread_data
739);
740
742 ompt_data_t *thread_data,
743 ompt_role_t prior_role,
744 ompt_role_t next_role
745);
746
748 ompt_data_t *encountering_task_data,
749 const ompt_frame_t *encountering_task_frame,
750 ompt_data_t *parallel_data,
751 unsigned int requested_parallelism,
752 int flags,
753 const void *codeptr_ra
754);
755
760 int flags;
761 const void *codeptr_ra;
763
765 ompt_data_t *parallel_data,
766 ompt_data_t *encountering_task_data,
767 int flags,
768 const void *codeptr_ra
769);
770
774 int flags;
775 const void *codeptr_ra;
777
778typedef void (*ompt_callback_work_t) (
779 ompt_work_t wstype,
780 ompt_scope_endpoint_t endpoint,
781 ompt_data_t *parallel_data,
782 ompt_data_t *task_data,
783 uint64_t count,
784 const void *codeptr_ra
785);
786
787typedef struct ompt_record_work_t {
792 uint64_t count;
793 const void *codeptr_ra;
795
797 ompt_data_t *parallel_data,
798 ompt_data_t *task_data,
799 ompt_dispatch_t kind,
800 ompt_data_t instance
801);
802
809
811 ompt_data_t *encountering_task_data,
812 const ompt_frame_t *encountering_task_frame,
813 ompt_data_t *new_task_data,
814 int flags,
815 int has_dependences,
816 const void *codeptr_ra
817);
818
822 int flags;
824 const void *codeptr_ra;
826
828 ompt_data_t *task_data,
829 const ompt_dependence_t *deps,
830 int ndeps
831);
832
836 int ndeps;
838
840 ompt_data_t *src_task_data,
841 ompt_data_t *sink_task_data
842);
843
848
850 ompt_data_t *prior_task_data,
851 ompt_task_status_t prior_task_status,
852 ompt_data_t *next_task_data
853);
854
860
862 ompt_scope_endpoint_t endpoint,
863 ompt_data_t *parallel_data,
864 ompt_data_t *task_data,
865 unsigned int actual_parallelism,
866 unsigned int index,
867 int flags
868);
869
874 unsigned int actual_parallelism;
875 unsigned int index;
876 int flags;
878
879typedef void (*ompt_callback_masked_t) (
880 ompt_scope_endpoint_t endpoint,
881 ompt_data_t *parallel_data,
882 ompt_data_t *task_data,
883 const void *codeptr_ra
884);
885
886typedef ompt_callback_masked_t ompt_callback_master_t DEPRECATED_51;
887
888typedef struct ompt_record_masked_t {
892 const void *codeptr_ra;
894
897 ompt_scope_endpoint_t endpoint,
898 ompt_data_t *parallel_data,
899 ompt_data_t *task_data,
900 const void *codeptr_ra
901);
902
908 const void *codeptr_ra;
910
912 ompt_mutex_t kind,
913 unsigned int hint,
914 unsigned int impl,
915 ompt_wait_id_t wait_id,
916 const void *codeptr_ra
917);
918
921 unsigned int hint;
922 unsigned int impl;
924 const void *codeptr_ra;
926
927typedef void (*ompt_callback_mutex_t) (
928 ompt_mutex_t kind,
929 ompt_wait_id_t wait_id,
930 const void *codeptr_ra
931);
932
933typedef struct ompt_record_mutex_t {
936 const void *codeptr_ra;
938
940 ompt_scope_endpoint_t endpoint,
941 ompt_wait_id_t wait_id,
942 const void *codeptr_ra
943);
944
948 const void *codeptr_ra;
950
951typedef void (*ompt_callback_flush_t) (
952 ompt_data_t *thread_data,
953 const void *codeptr_ra
954);
955
956typedef struct ompt_record_flush_t {
957 const void *codeptr_ra;
959
960typedef void (*ompt_callback_cancel_t) (
961 ompt_data_t *task_data,
962 int flags,
963 const void *codeptr_ra
964);
965
966typedef struct ompt_record_cancel_t {
968 int flags;
969 const void *codeptr_ra;
971
973 int device_num,
974 const char *type,
975 ompt_device_t *device,
977 const char *documentation
978);
979
981 int device_num
982);
983
985 int device_num,
986 const char *filename,
987 int64_t offset_in_file,
988 void *vma_in_file,
989 size_t bytes,
990 void *host_addr,
991 void *device_addr,
992 uint64_t module_id
993);
994
996 int device_num,
997 uint64_t module_id
998);
999
1001 ompt_scope_endpoint_t endpoint,
1002 ompt_data_t *target_task_data,
1003 ompt_data_t *target_data,
1004 ompt_id_t *host_op_id,
1005 ompt_target_data_op_t optype,
1006 void *src_addr,
1007 int src_device_num,
1008 void *dest_addr,
1009 int dest_device_num,
1010 size_t bytes,
1011 const void *codeptr_ra
1012);
1013
1015 ompt_id_t target_id,
1016 ompt_id_t host_op_id,
1017 ompt_target_data_op_t optype,
1018 void *src_addr,
1019 int src_device_num,
1020 void *dest_addr,
1021 int dest_device_num,
1022 size_t bytes,
1023 const void *codeptr_ra
1024);
1025
1033 size_t bytes;
1035 const void *codeptr_ra;
1037
1039 ompt_target_t kind,
1040 ompt_scope_endpoint_t endpoint,
1041 int device_num,
1042 ompt_data_t *task_data,
1043 ompt_data_t *target_task_data,
1044 ompt_data_t *target_data,
1045 const void *codeptr_ra
1046);
1047
1048typedef void (*ompt_callback_target_t) (
1049 ompt_target_t kind,
1050 ompt_scope_endpoint_t endpoint,
1051 int device_num,
1052 ompt_data_t *task_data,
1053 ompt_id_t target_id,
1054 const void *codeptr_ra
1055);
1056
1057typedef struct ompt_record_target_t {
1063 const void *codeptr_ra;
1065
1067 ompt_data_t *target_data,
1068 unsigned int nitems,
1069 void **host_addr,
1070 void **device_addr,
1071 size_t *bytes,
1072 unsigned int *mapping_flags,
1073 const void *codeptr_ra
1074);
1075
1077 ompt_id_t target_id,
1078 unsigned int nitems,
1079 void **host_addr,
1080 void **device_addr,
1081 size_t *bytes,
1082 unsigned int *mapping_flags,
1083 const void *codeptr_ra
1084);
1085
1088 unsigned int nitems;
1091 size_t *bytes;
1092 unsigned int *mapping_flags;
1093 const void *codeptr_ra;
1095
1097 ompt_scope_endpoint_t endpoint,
1098 ompt_data_t *target_data,
1099 ompt_id_t *host_op_id,
1100 unsigned int requested_num_teams
1101);
1102
1104 ompt_id_t target_id,
1105 ompt_id_t host_op_id,
1106 unsigned int requested_num_teams
1107);
1108
1112 unsigned int granted_num_teams;
1115
1117 uint64_t command,
1118 uint64_t modifier,
1119 void *arg,
1120 const void *codeptr_ra
1121);
1122
1124 uint64_t command;
1125 uint64_t modifier;
1126 const void *codeptr_ra;
1128
1129typedef void (*ompt_callback_error_t) (
1130 ompt_severity_t severity,
1131 const char *message, size_t length,
1132 const void *codeptr_ra
1133);
1134
1135typedef struct ompd_address_t {
1139
1140typedef struct ompd_frame_info_t {
1144
1145typedef struct _ompd_aspace_handle ompd_address_space_handle_t;
1146typedef struct _ompd_thread_handle ompd_thread_handle_t;
1147typedef struct _ompd_parallel_handle ompd_parallel_handle_t;
1148typedef struct _ompd_task_handle ompd_task_handle_t;
1149
1150typedef struct _ompd_aspace_cont ompd_address_space_context_t;
1151typedef struct _ompd_thread_cont ompd_thread_context_t;
1152
1156 uint8_t sizeof_int;
1161
1162typedef struct ompt_record_ompt_t {
1167 union {
1192
1193typedef ompt_record_ompt_t *(*ompt_get_record_ompt_t) (
1194 ompt_buffer_t *buffer,
1195 ompt_buffer_cursor_t current
1196);
1197
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
1205
1206#define ompd_segment_none 0
1207
1208#endif /* __OMPT__ */
void(* ompt_callback_error_t)(ompt_severity_t severity, const char *message, size_t length, const void *codeptr_ra)
Definition: omp-tools.h:1129
int(* ompt_enumerate_states_t)(int current_state, int *next_state, const char **next_state_name)
Definition: omp-tools.h:582
ompt_set_result_t(* ompt_set_callback_t)(ompt_callbacks_t event, ompt_callback_t callback)
Definition: omp-tools.h:594
void(* ompt_callback_implicit_task_t)(ompt_scope_endpoint_t endpoint, ompt_data_t *parallel_data, ompt_data_t *task_data, unsigned int actual_parallelism, unsigned int index, int flags)
Definition: omp-tools.h:861
void(* ompt_callback_target_map_t)(ompt_id_t target_id, unsigned int nitems, void **host_addr, void **device_addr, size_t *bytes, unsigned int *mapping_flags, const void *codeptr_ra)
Definition: omp-tools.h:1076
ompt_task_status_t
Definition: omp-tools.h:370
@ ompt_task_detach
Definition: omp-tools.h:374
@ ompt_task_yield
Definition: omp-tools.h:372
@ ompt_task_switch
Definition: omp-tools.h:377
@ ompt_task_early_fulfill
Definition: omp-tools.h:375
@ ompt_task_complete
Definition: omp-tools.h:371
@ ompt_task_late_fulfill
Definition: omp-tools.h:376
@ ompt_taskwait_complete
Definition: omp-tools.h:378
@ ompt_task_cancel
Definition: omp-tools.h:373
void(* ompt_interface_fn_t)(void)
Definition: omp-tools.h:515
int(* ompt_get_task_memory_t)(void **addr, size_t *size, int block)
Definition: omp-tools.h:644
uint64_t ompd_wait_id_t
Definition: omp-tools.h:480
void(* ompt_callback_device_load_t)(int device_num, const char *filename, int64_t offset_in_file, void *vma_in_file, size_t bytes, void *host_addr, void *device_addr, uint64_t module_id)
Definition: omp-tools.h:984
void(* ompt_callback_task_schedule_t)(ompt_data_t *prior_task_data, ompt_task_status_t prior_task_status, ompt_data_t *next_task_data)
Definition: omp-tools.h:849
void(* ompt_callback_task_create_t)(ompt_data_t *encountering_task_data, const ompt_frame_t *encountering_task_frame, ompt_data_t *new_task_data, int flags, int has_dependences, const void *codeptr_ra)
Definition: omp-tools.h:810
int(* ompt_get_place_proc_ids_t)(int place_num, int ids_size, int *ids)
Definition: omp-tools.h:610
#define FOREACH_KMP_MUTEX_IMPL(macro)
Definition: omp-tools.h:124
void(* ompt_callback_target_map_emi_t)(ompt_data_t *target_data, unsigned int nitems, void **host_addr, void **device_addr, size_t *bytes, unsigned int *mapping_flags, const void *codeptr_ra)
Definition: omp-tools.h:1066
void(* ompt_callback_thread_end_t)(ompt_data_t *thread_data)
Definition: omp-tools.h:737
void(* ompt_callback_device_unload_t)(int device_num, uint64_t module_id)
Definition: omp-tools.h:995
struct _ompd_thread_cont ompd_thread_context_t
Definition: omp-tools.h:1151
void(* ompt_callback_t)(void)
Definition: omp-tools.h:533
int(* ompt_get_partition_place_nums_t)(int place_nums_size, int *place_nums)
Definition: omp-tools.h:618
ompt_severity_t
Definition: omp-tools.h:418
@ ompt_fatal
Definition: omp-tools.h:420
@ ompt_warning
Definition: omp-tools.h:419
#define kmp_mutex_impl_macro(impl, code)
Definition: omp-tools.h:198
double(* ompt_translate_time_t)(ompt_device_t *device, ompt_device_time_t time)
Definition: omp-tools.h:668
ompt_interface_fn_t(* ompt_function_lookup_t)(const char *interface_function_name)
Definition: omp-tools.h:517
int(* ompt_get_num_devices_t)(void)
Definition: omp-tools.h:656
uint64_t ompt_device_time_t
Definition: omp-tools.h:277
ompt_cancel_flag_t
Definition: omp-tools.h:423
@ ompt_cancel_sections
Definition: omp-tools.h:425
@ ompt_cancel_activated
Definition: omp-tools.h:428
@ ompt_cancel_loop
Definition: omp-tools.h:426
@ ompt_cancel_discarded_task
Definition: omp-tools.h:430
@ ompt_cancel_detected
Definition: omp-tools.h:429
@ ompt_cancel_parallel
Definition: omp-tools.h:424
@ ompt_cancel_taskgroup
Definition: omp-tools.h:427
ompt_mutex_t
Definition: omp-tools.h:336
@ ompt_mutex_critical
Definition: omp-tools.h:341
@ ompt_mutex_test_lock
Definition: omp-tools.h:338
@ ompt_mutex_lock
Definition: omp-tools.h:337
@ ompt_mutex_ordered
Definition: omp-tools.h:343
@ ompt_mutex_atomic
Definition: omp-tools.h:342
@ ompt_mutex_test_nest_lock
Definition: omp-tools.h:340
@ ompt_mutex_nest_lock
Definition: omp-tools.h:339
void(* ompt_callback_thread_role_shift_t)(ompt_data_t *thread_data, ompt_role_t prior_role, ompt_role_t next_role)
Definition: omp-tools.h:741
ompt_dependence_type_t
Definition: omp-tools.h:408
@ ompt_dependence_type_in
Definition: omp-tools.h:409
@ ompt_dependence_type_out
Definition: omp-tools.h:410
@ ompt_dependence_type_sink
Definition: omp-tools.h:414
@ ompt_dependence_type_inoutset
Definition: omp-tools.h:415
@ ompt_dependence_type_source
Definition: omp-tools.h:413
@ ompt_dependence_type_mutexinoutset
Definition: omp-tools.h:412
@ ompt_dependence_type_inout
Definition: omp-tools.h:411
void(* ompt_callback_flush_t)(ompt_data_t *thread_data, const void *codeptr_ra)
Definition: omp-tools.h:951
struct _ompd_thread_handle ompd_thread_handle_t
Definition: omp-tools.h:1146
void(* ompt_callback_target_submit_t)(ompt_id_t target_id, ompt_id_t host_op_id, unsigned int requested_num_teams)
Definition: omp-tools.h:1103
ompt_parallel_flag_t
Definition: omp-tools.h:392
@ ompt_parallel_invoker_runtime
Definition: omp-tools.h:394
@ ompt_parallel_team
Definition: omp-tools.h:396
@ ompt_parallel_invoker_program
Definition: omp-tools.h:393
@ ompt_parallel_league
Definition: omp-tools.h:395
ompt_target_map_flag_t
Definition: omp-tools.h:399
@ ompt_target_map_flag_implicit
Definition: omp-tools.h:405
@ ompt_target_map_flag_to
Definition: omp-tools.h:400
@ ompt_target_map_flag_alloc
Definition: omp-tools.h:402
@ ompt_target_map_flag_delete
Definition: omp-tools.h:404
@ ompt_target_map_flag_from
Definition: omp-tools.h:401
@ ompt_target_map_flag_release
Definition: omp-tools.h:403
void(* ompt_finalize_tool_t)(void)
Definition: omp-tools.h:658
ompt_set_result_t(* ompt_set_trace_ompt_t)(ompt_device_t *device, unsigned int enable, unsigned int etype)
Definition: omp-tools.h:673
int(* ompt_get_place_num_t)(void)
Definition: omp-tools.h:616
struct _ompd_task_handle ompd_task_handle_t
Definition: omp-tools.h:1148
int(* ompt_pause_trace_t)(ompt_device_t *device, int begin_pause)
Definition: omp-tools.h:691
void(* ompt_callback_mutex_acquire_t)(ompt_mutex_t kind, unsigned int hint, unsigned int impl, ompt_wait_id_t wait_id, const void *codeptr_ra)
Definition: omp-tools.h:911
int(* ompt_get_num_procs_t)(void)
Definition: omp-tools.h:606
int(* ompt_get_device_num_procs_t)(ompt_device_t *device)
Definition: omp-tools.h:660
int(* ompt_enumerate_mutex_impls_t)(int current_impl, int *next_impl, const char **next_impl_name)
Definition: omp-tools.h:588
void(* ompt_finalize_t)(ompt_data_t *tool_data)
Definition: omp-tools.h:553
uint64_t ompd_seg_t
Definition: omp-tools.h:484
void(* ompt_callback_device_finalize_t)(int device_num)
Definition: omp-tools.h:980
void(* ompt_callback_work_t)(ompt_work_t wstype, ompt_scope_endpoint_t endpoint, ompt_data_t *parallel_data, ompt_data_t *task_data, uint64_t count, const void *codeptr_ra)
Definition: omp-tools.h:778
ompt_task_flag_t
Definition: omp-tools.h:357
@ ompt_task_explicit
Definition: omp-tools.h:360
@ ompt_task_merged
Definition: omp-tools.h:367
@ ompt_task_initial
Definition: omp-tools.h:358
@ ompt_task_undeferred
Definition: omp-tools.h:363
@ ompt_task_target
Definition: omp-tools.h:361
@ ompt_task_final
Definition: omp-tools.h:365
@ ompt_task_implicit
Definition: omp-tools.h:359
@ ompt_task_mergeable
Definition: omp-tools.h:366
@ ompt_task_taskwait
Definition: omp-tools.h:362
@ ompt_task_untied
Definition: omp-tools.h:364
void(* ompt_callback_thread_begin_t)(ompt_thread_t thread_type, ompt_data_t *thread_data)
Definition: omp-tools.h:728
void(* ompt_callback_device_initialize_t)(int device_num, const char *type, ompt_device_t *device, ompt_function_lookup_t lookup, const char *documentation)
Definition: omp-tools.h:972
uint64_t ompd_device_t
Definition: omp-tools.h:486
void(* ompt_callback_parallel_begin_t)(ompt_data_t *encountering_task_data, const ompt_frame_t *encountering_task_frame, ompt_data_t *parallel_data, unsigned int requested_parallelism, int flags, const void *codeptr_ra)
Definition: omp-tools.h:747
ompt_target_data_op_t
Definition: omp-tools.h:312
@ ompt_target_data_disassociate
Definition: omp-tools.h:318
@ ompt_target_data_alloc_async
Definition: omp-tools.h:319
@ ompt_target_data_alloc
Definition: omp-tools.h:313
@ ompt_target_data_transfer_to_device
Definition: omp-tools.h:314
@ ompt_target_data_delete_async
Definition: omp-tools.h:322
@ ompt_target_data_transfer_from_device_async
Definition: omp-tools.h:321
@ ompt_target_data_associate
Definition: omp-tools.h:317
@ ompt_target_data_delete
Definition: omp-tools.h:316
@ ompt_target_data_transfer_from_device
Definition: omp-tools.h:315
@ ompt_target_data_transfer_to_device_async
Definition: omp-tools.h:320
ompt_sync_region_t
Definition: omp-tools.h:299
@ ompt_sync_region_reduction
Definition: omp-tools.h:306
@ ompt_sync_region_barrier_teams
Definition: omp-tools.h:309
@ ompt_sync_region_barrier_implementation
Definition: omp-tools.h:303
@ ompt_sync_region_taskgroup
Definition: omp-tools.h:305
@ ompt_sync_region_barrier_implicit_parallel
Definition: omp-tools.h:308
@ ompt_sync_region_taskwait
Definition: omp-tools.h:304
@ ompt_sync_region_barrier_implicit_workshare
Definition: omp-tools.h:307
@ ompt_sync_region_barrier_explicit
Definition: omp-tools.h:302
uint64_t(* ompt_get_unique_id_t)(void)
Definition: omp-tools.h:476
uint64_t ompt_buffer_cursor_t
Definition: omp-tools.h:279
ompt_work_t
Definition: omp-tools.h:325
@ ompt_work_single_other
Definition: omp-tools.h:329
@ ompt_work_scope
Definition: omp-tools.h:333
@ ompt_work_taskloop
Definition: omp-tools.h:332
@ ompt_work_sections
Definition: omp-tools.h:327
@ ompt_work_workshare
Definition: omp-tools.h:330
@ ompt_work_loop
Definition: omp-tools.h:326
@ ompt_work_single_executor
Definition: omp-tools.h:328
@ ompt_work_distribute
Definition: omp-tools.h:331
kmp_mutex_impl_t
Definition: omp-tools.h:197
int(* ompt_get_state_t)(ompt_wait_id_t *wait_id)
Definition: omp-tools.h:625
uint64_t ompt_id_t
Definition: omp-tools.h:275
void(* ompt_callback_target_data_op_emi_t)(ompt_scope_endpoint_t endpoint, ompt_data_t *target_task_data, ompt_data_t *target_data, ompt_id_t *host_op_id, ompt_target_data_op_t optype, void *src_addr, int src_device_num, void *dest_addr, int dest_device_num, size_t bytes, const void *codeptr_ra)
Definition: omp-tools.h:1000
int(* ompt_get_parallel_info_t)(int ancestor_level, ompt_data_t **parallel_data, int *team_size)
Definition: omp-tools.h:629
void(* ompt_callback_dispatch_t)(ompt_data_t *parallel_data, ompt_data_t *task_data, ompt_dispatch_t kind, ompt_data_t instance)
Definition: omp-tools.h:796
ompt_dispatch_t
Definition: omp-tools.h:294
@ ompt_dispatch_section
Definition: omp-tools.h:296
@ ompt_dispatch_iteration
Definition: omp-tools.h:295
uint64_t ompd_thread_id_t
Definition: omp-tools.h:488
void(* ompt_callback_target_emi_t)(ompt_target_t kind, ompt_scope_endpoint_t endpoint, int device_num, ompt_data_t *task_data, ompt_data_t *target_task_data, ompt_data_t *target_data, const void *codeptr_ra)
Definition: omp-tools.h:1038
struct _ompd_aspace_cont ompd_address_space_context_t
Definition: omp-tools.h:1150
ompt_callbacks_t
Definition: omp-tools.h:207
@ ompt_callback_lock_init
Definition: omp-tools.h:232
@ ompt_callback_device_initialize
Definition: omp-tools.h:219
@ ompt_callback_sync_region
Definition: omp-tools.h:231
@ ompt_callback_nest_lock
Definition: omp-tools.h:236
@ ompt_callback_thread_begin
Definition: omp-tools.h:208
@ ompt_callback_thread_end
Definition: omp-tools.h:209
@ ompt_callback_task_schedule
Definition: omp-tools.h:213
@ ompt_callback_mutex_released
Definition: omp-tools.h:224
@ ompt_callback_target_emi
Definition: omp-tools.h:241
@ ompt_callback_work
Definition: omp-tools.h:227
@ ompt_callback_target_map_emi
Definition: omp-tools.h:244
@ ompt_callback_device_unload
Definition: omp-tools.h:222
@ ompt_callback_device_load
Definition: omp-tools.h:221
@ ompt_callback_mutex_acquired
Definition: omp-tools.h:235
@ ompt_callback_target_map
Definition: omp-tools.h:230
@ ompt_callback_dependences
Definition: omp-tools.h:225
@ ompt_callback_target_submit_emi
Definition: omp-tools.h:243
@ ompt_callback_parallel_end
Definition: omp-tools.h:211
@ ompt_callback_task_create
Definition: omp-tools.h:212
@ ompt_callback_target
Definition: omp-tools.h:215
@ ompt_callback_flush
Definition: omp-tools.h:237
@ ompt_callback_device_finalize
Definition: omp-tools.h:220
@ ompt_callback_sync_region_wait
Definition: omp-tools.h:223
@ ompt_callback_dispatch
Definition: omp-tools.h:240
@ ompt_callback_error
Definition: omp-tools.h:245
@ ompt_callback_target_data_op
Definition: omp-tools.h:216
@ ompt_callback_target_submit
Definition: omp-tools.h:217
@ ompt_callback_control_tool
Definition: omp-tools.h:218
@ ompt_callback_reduction
Definition: omp-tools.h:239
@ ompt_callback_masked
Definition: omp-tools.h:229
@ ompt_callback_mutex_acquire
Definition: omp-tools.h:234
@ ompt_callback_parallel_begin
Definition: omp-tools.h:210
@ ompt_callback_lock_destroy
Definition: omp-tools.h:233
@ ompt_callback_target_data_op_emi
Definition: omp-tools.h:242
@ ompt_callback_implicit_task
Definition: omp-tools.h:214
@ ompt_callback_thread_role_shift
Definition: omp-tools.h:246
@ ompt_callback_task_dependence
Definition: omp-tools.h:226
@ ompt_callback_cancel
Definition: omp-tools.h:238
struct _ompd_aspace_handle ompd_address_space_handle_t
Definition: omp-tools.h:1145
ompt_native_mon_flag_t
Definition: omp-tools.h:346
@ ompt_native_idleness
Definition: omp-tools.h:354
@ ompt_native_kernel_invocation
Definition: omp-tools.h:349
@ ompt_native_runtime
Definition: omp-tools.h:352
@ ompt_native_driver
Definition: omp-tools.h:351
@ ompt_native_overhead
Definition: omp-tools.h:353
@ ompt_native_data_motion_explicit
Definition: omp-tools.h:347
@ ompt_native_data_motion_implicit
Definition: omp-tools.h:348
@ ompt_native_kernel_execution
Definition: omp-tools.h:350
#define DEPRECATED_51
Definition: omp-tools.h:49
ompt_record_t(* ompt_get_record_type_t)(ompt_buffer_t *buffer, ompt_buffer_cursor_t current)
Definition: omp-tools.h:712
int(* ompt_start_trace_t)(ompt_device_t *device, ompt_callback_buffer_request_t request, ompt_callback_buffer_complete_t complete)
Definition: omp-tools.h:685
ompt_state_t
Definition: omp-tools.h:445
@ ompt_state_wait_barrier_explicit
Definition: omp-tools.h:454
@ ompt_state_wait_lock
Definition: omp-tools.h:462
@ ompt_state_wait_ordered
Definition: omp-tools.h:465
@ ompt_state_idle
Definition: omp-tools.h:471
@ ompt_state_wait_critical
Definition: omp-tools.h:463
@ ompt_state_wait_target_map
Definition: omp-tools.h:468
@ ompt_state_undefined
Definition: omp-tools.h:473
@ ompt_state_work_parallel
Definition: omp-tools.h:447
@ ompt_state_overhead
Definition: omp-tools.h:472
@ ompt_state_work_reduction
Definition: omp-tools.h:448
@ ompt_state_wait_target_update
Definition: omp-tools.h:469
@ ompt_state_wait_barrier_implementation
Definition: omp-tools.h:455
@ ompt_state_wait_barrier_implicit_parallel
Definition: omp-tools.h:451
@ ompt_state_work_serial
Definition: omp-tools.h:446
@ ompt_state_wait_barrier_teams
Definition: omp-tools.h:456
@ ompt_state_wait_taskwait
Definition: omp-tools.h:458
@ ompt_state_wait_mutex
Definition: omp-tools.h:461
@ ompt_state_wait_barrier_implicit_workshare
Definition: omp-tools.h:452
@ ompt_state_wait_target
Definition: omp-tools.h:467
@ ompt_state_wait_taskgroup
Definition: omp-tools.h:459
@ ompt_state_wait_atomic
Definition: omp-tools.h:464
uint64_t ompd_icv_id_t
Definition: omp-tools.h:499
int(* ompt_get_num_places_t)(void)
Definition: omp-tools.h:608
uint64_t ompt_wait_id_t
Definition: omp-tools.h:435
int(* ompt_stop_trace_t)(ompt_device_t *device)
Definition: omp-tools.h:700
ompt_record_native_t
Definition: omp-tools.h:261
@ ompt_record_native_event
Definition: omp-tools.h:263
@ ompt_record_native_info
Definition: omp-tools.h:262
ompt_device_time_t(* ompt_get_device_time_t)(ompt_device_t *device)
Definition: omp-tools.h:664
ompt_scope_endpoint_t
Definition: omp-tools.h:288
@ ompt_scope_begin
Definition: omp-tools.h:289
@ ompt_scope_end
Definition: omp-tools.h:290
@ ompt_scope_beginend
Definition: omp-tools.h:291
uint64_t ompd_size_t
Definition: omp-tools.h:478
void(* ompt_callback_parallel_end_t)(ompt_data_t *parallel_data, ompt_data_t *encountering_task_data, int flags, const void *codeptr_ra)
Definition: omp-tools.h:764
ompt_record_t
Definition: omp-tools.h:249
@ ompt_record_invalid
Definition: omp-tools.h:252
@ ompt_record_ompt
Definition: omp-tools.h:250
@ ompt_record_native
Definition: omp-tools.h:251
void(* ompt_callback_mutex_t)(ompt_mutex_t kind, ompt_wait_id_t wait_id, const void *codeptr_ra)
Definition: omp-tools.h:927
ompt_target_t
Definition: omp-tools.h:381
@ ompt_target_exit_data_nowait
Definition: omp-tools.h:388
@ ompt_target_update_nowait
Definition: omp-tools.h:389
@ ompt_target_nowait
Definition: omp-tools.h:386
@ ompt_target
Definition: omp-tools.h:382
@ ompt_target_enter_data
Definition: omp-tools.h:383
@ ompt_target_exit_data
Definition: omp-tools.h:384
@ ompt_target_update
Definition: omp-tools.h:385
@ ompt_target_enter_data_nowait
Definition: omp-tools.h:387
ompt_set_result_t
Definition: omp-tools.h:266
@ ompt_set_never
Definition: omp-tools.h:268
@ ompt_set_impossible
Definition: omp-tools.h:269
@ ompt_set_error
Definition: omp-tools.h:267
@ ompt_set_always
Definition: omp-tools.h:272
@ ompt_set_sometimes
Definition: omp-tools.h:270
@ ompt_set_sometimes_paired
Definition: omp-tools.h:271
ompd_scope_t
Definition: omp-tools.h:490
@ ompd_scope_address_space
Definition: omp-tools.h:492
@ ompd_scope_implicit_task
Definition: omp-tools.h:495
@ ompd_scope_parallel
Definition: omp-tools.h:494
@ ompd_scope_thread
Definition: omp-tools.h:493
@ ompd_scope_task
Definition: omp-tools.h:496
@ ompd_scope_global
Definition: omp-tools.h:491
void(* ompt_callback_dependences_t)(ompt_data_t *task_data, const ompt_dependence_t *deps, int ndeps)
Definition: omp-tools.h:827
int(* ompt_initialize_t)(ompt_function_lookup_t lookup, int initial_device_num, ompt_data_t *tool_data)
Definition: omp-tools.h:557
int(* ompt_get_task_info_t)(int ancestor_level, int *flags, ompt_data_t **task_data, ompt_frame_t **task_frame, ompt_data_t **parallel_data, int *thread_num)
Definition: omp-tools.h:635
void(* ompt_callback_target_data_op_t)(ompt_id_t target_id, ompt_id_t host_op_id, ompt_target_data_op_t optype, void *src_addr, int src_device_num, void *dest_addr, int dest_device_num, size_t bytes, const void *codeptr_ra)
Definition: omp-tools.h:1014
ompt_callback_masked_t ompt_callback_master_t DEPRECATED_51
Definition: omp-tools.h:886
void ompt_buffer_t
Definition: omp-tools.h:537
void(* ompt_callback_target_t)(ompt_target_t kind, ompt_scope_endpoint_t endpoint, int device_num, ompt_data_t *task_data, ompt_id_t target_id, const void *codeptr_ra)
Definition: omp-tools.h:1048
void ompt_device_t
Definition: omp-tools.h:535
int(* ompt_flush_trace_t)(ompt_device_t *device)
Definition: omp-tools.h:696
ompt_role_t
Definition: omp-tools.h:255
@ OMP_ROLE_COMMUNICATOR
Definition: omp-tools.h:258
@ OMP_ROLE_FREE_AGENT
Definition: omp-tools.h:257
@ OMP_ROLE_NONE
Definition: omp-tools.h:256
uint64_t ompt_hwid_t
Definition: omp-tools.h:433
void(* ompt_callback_buffer_request_t)(int device_num, ompt_buffer_t **buffer, size_t *bytes)
Definition: omp-tools.h:539
int64_t ompd_word_t
Definition: omp-tools.h:483
struct _ompd_parallel_handle ompd_parallel_handle_t
Definition: omp-tools.h:1147
int(* ompt_callback_control_tool_t)(uint64_t command, uint64_t modifier, void *arg, const void *codeptr_ra)
Definition: omp-tools.h:1116
ompt_set_result_t(* ompt_set_trace_native_t)(ompt_device_t *device, int enable, int flags)
Definition: omp-tools.h:679
int(* ompt_get_callback_t)(ompt_callbacks_t event, ompt_callback_t *callback)
Definition: omp-tools.h:599
ompd_rc_t
Definition: omp-tools.h:501
@ ompd_rc_unsupported
Definition: omp-tools.h:507
@ ompd_rc_needs_state_tracking
Definition: omp-tools.h:508
@ ompd_rc_device_read_error
Definition: omp-tools.h:510
@ ompd_rc_nomem
Definition: omp-tools.h:512
@ ompd_rc_device_write_error
Definition: omp-tools.h:511
@ ompd_rc_incompatible
Definition: omp-tools.h:509
@ ompd_rc_bad_input
Definition: omp-tools.h:505
@ ompd_rc_error
Definition: omp-tools.h:506
@ ompd_rc_stale_handle
Definition: omp-tools.h:504
@ ompd_rc_unavailable
Definition: omp-tools.h:503
@ ompd_rc_ok
Definition: omp-tools.h:502
ompt_frame_flag_t
Definition: omp-tools.h:437
@ ompt_frame_runtime
Definition: omp-tools.h:438
@ ompt_frame_framepointer
Definition: omp-tools.h:441
@ ompt_frame_application
Definition: omp-tools.h:439
@ ompt_frame_stackaddress
Definition: omp-tools.h:442
@ ompt_frame_cfa
Definition: omp-tools.h:440
void(* ompt_callback_task_dependence_t)(ompt_data_t *src_task_data, ompt_data_t *sink_task_data)
Definition: omp-tools.h:839
void(* ompt_callback_nest_lock_t)(ompt_scope_endpoint_t endpoint, ompt_wait_id_t wait_id, const void *codeptr_ra)
Definition: omp-tools.h:939
ompt_thread_t
Definition: omp-tools.h:281
@ ompt_thread_initial
Definition: omp-tools.h:282
@ ompt_thread_unknown
Definition: omp-tools.h:285
@ ompt_thread_other
Definition: omp-tools.h:284
@ ompt_thread_worker
Definition: omp-tools.h:283
uint64_t ompd_addr_t
Definition: omp-tools.h:482
int(* ompt_get_target_info_t)(uint64_t *device_num, ompt_id_t *target_id, ompt_id_t *host_op_id)
Definition: omp-tools.h:650
void(* ompt_callback_cancel_t)(ompt_data_t *task_data, int flags, const void *codeptr_ra)
Definition: omp-tools.h:960
int(* ompt_get_proc_id_t)(void)
Definition: omp-tools.h:623
void(* ompt_callback_masked_t)(ompt_scope_endpoint_t endpoint, ompt_data_t *parallel_data, ompt_data_t *task_data, const void *codeptr_ra)
Definition: omp-tools.h:879
int(* ompt_advance_buffer_cursor_t)(ompt_device_t *device, ompt_buffer_t *buffer, size_t size, ompt_buffer_cursor_t current, ompt_buffer_cursor_t *next)
Definition: omp-tools.h:704
void(* ompt_callback_sync_region_t)(ompt_sync_region_t kind, ompt_scope_endpoint_t endpoint, ompt_data_t *parallel_data, ompt_data_t *task_data, const void *codeptr_ra)
Definition: omp-tools.h:895
void(* ompt_callback_target_submit_emi_t)(ompt_scope_endpoint_t endpoint, ompt_data_t *target_data, ompt_id_t *host_op_id, unsigned int requested_num_teams)
Definition: omp-tools.h:1096
void(* ompt_callback_buffer_complete_t)(int device_num, ompt_buffer_t *buffer, size_t bytes, ompt_buffer_cursor_t begin, int buffer_owned)
Definition: omp-tools.h:545
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:1123
uint64_t modifier
Definition: omp-tools.h:1125
const void * codeptr_ra
Definition: omp-tools.h:1126
uint64_t command
Definition: omp-tools.h:1124
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:563
ompt_data_t tool_data
Definition: omp-tools.h:566
ompt_initialize_t initialize
Definition: omp-tools.h:564
ompt_finalize_t finalize
Definition: omp-tools.h:565
Definition: omp-tools.h:521
uint64_t value
Definition: omp-tools.h:522
void * ptr
Definition: omp-tools.h:523