ETISS 0.8.0
Extendable Translating Instruction Set Simulator (version 0.8.0)
ompt.h
Go to the documentation of this file.
1 /*
2  * include/omp-tools.h.var
3  */
4 
5 //===----------------------------------------------------------------------===//
6 //
7 // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
8 // See https://llvm.org/LICENSE.txt for license information.
9 // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
10 //
11 //===----------------------------------------------------------------------===//
12 
13 #ifndef __OMPT__
14 #define __OMPT__
15 
16 /*****************************************************************************
17  * system include files
18  *****************************************************************************/
19 
20 #include <stdint.h>
21 #include <stddef.h>
22 
23 /*****************************************************************************
24  * iteration macros
25  *****************************************************************************/
26 
27 #define FOREACH_OMPT_INQUIRY_FN(macro) \
28  macro (ompt_enumerate_states) \
29  macro (ompt_enumerate_mutex_impls) \
30  \
31  macro (ompt_set_callback) \
32  macro (ompt_get_callback) \
33  \
34  macro (ompt_get_state) \
35  \
36  macro (ompt_get_parallel_info) \
37  macro (ompt_get_task_info) \
38  macro (ompt_get_task_memory) \
39  macro (ompt_get_thread_data) \
40  macro (ompt_get_unique_id) \
41  macro (ompt_finalize_tool) \
42  \
43  macro(ompt_get_num_procs) \
44  macro(ompt_get_num_places) \
45  macro(ompt_get_place_proc_ids) \
46  macro(ompt_get_place_num) \
47  macro(ompt_get_partition_place_nums) \
48  macro(ompt_get_proc_id) \
49  \
50  macro(ompt_get_target_info) \
51  macro(ompt_get_num_devices)
52 
53 #define FOREACH_OMPT_STATE(macro) \
54  \
55  /* first available state */ \
56  macro (ompt_state_undefined, 0x102) /* undefined thread state */ \
57  \
58  /* work states (0..15) */ \
59  macro (ompt_state_work_serial, 0x000) /* working outside parallel */ \
60  macro (ompt_state_work_parallel, 0x001) /* working within parallel */ \
61  macro (ompt_state_work_reduction, 0x002) /* performing a reduction */ \
62  \
63  /* barrier wait states (16..31) */ \
64  macro (ompt_state_wait_barrier, 0x010) /* waiting at a barrier */ \
65  macro (ompt_state_wait_barrier_implicit_parallel, 0x011) \
66  /* implicit barrier at the end of parallel region */\
67  macro (ompt_state_wait_barrier_implicit_workshare, 0x012) \
68  /* implicit barrier at the end of worksharing */ \
69  macro (ompt_state_wait_barrier_implicit, 0x013) /* implicit barrier */ \
70  macro (ompt_state_wait_barrier_explicit, 0x014) /* explicit barrier */ \
71  \
72  /* task wait states (32..63) */ \
73  macro (ompt_state_wait_taskwait, 0x020) /* waiting at a taskwait */ \
74  macro (ompt_state_wait_taskgroup, 0x021) /* waiting at a taskgroup */ \
75  \
76  /* mutex wait states (64..127) */ \
77  macro (ompt_state_wait_mutex, 0x040) \
78  macro (ompt_state_wait_lock, 0x041) /* waiting for lock */ \
79  macro (ompt_state_wait_critical, 0x042) /* waiting for critical */ \
80  macro (ompt_state_wait_atomic, 0x043) /* waiting for atomic */ \
81  macro (ompt_state_wait_ordered, 0x044) /* waiting for ordered */ \
82  \
83  /* target wait states (128..255) */ \
84  macro (ompt_state_wait_target, 0x080) /* waiting for target region */ \
85  macro (ompt_state_wait_target_map, 0x081) /* waiting for target data mapping operation */ \
86  macro (ompt_state_wait_target_update, 0x082) /* waiting for target update operation */ \
87  \
88  /* misc (256..511) */ \
89  macro (ompt_state_idle, 0x100) /* waiting for work */ \
90  macro (ompt_state_overhead, 0x101) /* overhead excluding wait states */ \
91  \
92  /* implementation-specific states (512..) */
93 
94 
95 #define FOREACH_KMP_MUTEX_IMPL(macro) \
96  macro (kmp_mutex_impl_none, 0) /* unknown implementation */ \
97  macro (kmp_mutex_impl_spin, 1) /* based on spin */ \
98  macro (kmp_mutex_impl_queuing, 2) /* based on some fair policy */ \
99  macro (kmp_mutex_impl_speculative, 3) /* based on HW-supported speculation */
100 
101 #define FOREACH_OMPT_EVENT(macro) \
102  \
103  /*--- Mandatory Events ---*/ \
104  macro (ompt_callback_thread_begin, ompt_callback_thread_begin_t, 1) /* thread begin */ \
105  macro (ompt_callback_thread_end, ompt_callback_thread_end_t, 2) /* thread end */ \
106  \
107  macro (ompt_callback_parallel_begin, ompt_callback_parallel_begin_t, 3) /* parallel begin */ \
108  macro (ompt_callback_parallel_end, ompt_callback_parallel_end_t, 4) /* parallel end */ \
109  \
110  macro (ompt_callback_task_create, ompt_callback_task_create_t, 5) /* task begin */ \
111  macro (ompt_callback_task_schedule, ompt_callback_task_schedule_t, 6) /* task schedule */ \
112  macro (ompt_callback_implicit_task, ompt_callback_implicit_task_t, 7) /* implicit task */ \
113  \
114  macro (ompt_callback_target, ompt_callback_target_t, 8) /* target */ \
115  macro (ompt_callback_target_data_op, ompt_callback_target_data_op_t, 9) /* target data op */ \
116  macro (ompt_callback_target_submit, ompt_callback_target_submit_t, 10) /* target submit */ \
117  \
118  macro (ompt_callback_control_tool, ompt_callback_control_tool_t, 11) /* control tool */ \
119  \
120  macro (ompt_callback_device_initialize, ompt_callback_device_initialize_t, 12) /* device initialize */ \
121  macro (ompt_callback_device_finalize, ompt_callback_device_finalize_t, 13) /* device finalize */ \
122  \
123  macro (ompt_callback_device_load, ompt_callback_device_load_t, 14) /* device load */ \
124  macro (ompt_callback_device_unload, ompt_callback_device_unload_t, 15) /* device unload */ \
125  \
126  /* Optional Events */ \
127  macro (ompt_callback_sync_region_wait, ompt_callback_sync_region_t, 16) /* sync region wait begin or end */ \
128  \
129  macro (ompt_callback_mutex_released, ompt_callback_mutex_t, 17) /* mutex released */ \
130  \
131  macro (ompt_callback_dependences, ompt_callback_dependences_t, 18) /* report task dependences */ \
132  macro (ompt_callback_task_dependence, ompt_callback_task_dependence_t, 19) /* report task dependence */ \
133  \
134  macro (ompt_callback_work, ompt_callback_work_t, 20) /* task at work begin or end */ \
135  \
136  macro (ompt_callback_master, ompt_callback_master_t, 21) /* task at master begin or end */ \
137  \
138  macro (ompt_callback_target_map, ompt_callback_target_map_t, 22) /* target map */ \
139  \
140  macro (ompt_callback_sync_region, ompt_callback_sync_region_t, 23) /* sync region begin or end */ \
141  \
142  macro (ompt_callback_lock_init, ompt_callback_mutex_acquire_t, 24) /* lock init */ \
143  macro (ompt_callback_lock_destroy, ompt_callback_mutex_t, 25) /* lock destroy */ \
144  \
145  macro (ompt_callback_mutex_acquire, ompt_callback_mutex_acquire_t, 26) /* mutex acquire */ \
146  macro (ompt_callback_mutex_acquired, ompt_callback_mutex_t, 27) /* mutex acquired */ \
147  \
148  macro (ompt_callback_nest_lock, ompt_callback_nest_lock_t, 28) /* nest lock */ \
149  \
150  macro (ompt_callback_flush, ompt_callback_flush_t, 29) /* after executing flush */ \
151  \
152  macro (ompt_callback_cancel, ompt_callback_cancel_t, 30) /* cancel innermost binding region */ \
153  \
154  macro (ompt_callback_reduction, ompt_callback_sync_region_t, 31) /* reduction */ \
155  \
156  macro (ompt_callback_dispatch, ompt_callback_dispatch_t, 32) /* dispatch of work */
157 
158 /*****************************************************************************
159  * implementation specific types
160  *****************************************************************************/
161 
162 typedef enum kmp_mutex_impl_t {
163 #define kmp_mutex_impl_macro(impl, code) impl = code,
165 #undef kmp_mutex_impl_macro
167 
168 /*****************************************************************************
169  * definitions generated from spec
170  *****************************************************************************/
171 
172 typedef enum ompt_callbacks_t {
206 
207 typedef enum ompt_record_t {
212 
213 typedef enum ompt_record_native_t {
217 
218 typedef enum ompt_set_result_t {
224  ompt_set_always = 5
226 
228 
230 
232 
233 typedef enum ompt_thread_t {
239 
240 typedef enum ompt_scope_endpoint_t {
242  ompt_scope_end = 2
244 
245 typedef enum ompt_dispatch_t {
249 
250 typedef enum ompt_sync_region_t {
259 
260 typedef enum ompt_target_data_op_t {
268 
269 typedef enum ompt_work_t {
278 
279 typedef enum ompt_mutex_t {
288 
297  ompt_native_idleness = 0x80
299 
300 typedef enum ompt_task_flag_t {
301  ompt_task_initial = 0x00000001,
302  ompt_task_implicit = 0x00000002,
303  ompt_task_explicit = 0x00000004,
304  ompt_task_target = 0x00000008,
305  ompt_task_undeferred = 0x08000000,
306  ompt_task_untied = 0x10000000,
307  ompt_task_final = 0x20000000,
308  ompt_task_mergeable = 0x40000000,
309  ompt_task_merged = 0x80000000
311 
312 typedef enum ompt_task_status_t {
319  ompt_task_switch = 7
321 
322 typedef enum ompt_target_t {
328 
329 typedef enum ompt_parallel_flag_t {
332  ompt_parallel_league = 0x40000000,
333  ompt_parallel_team = 0x80000000
335 
344 
353 
354 typedef enum ompt_cancel_flag_t {
363 
365 
367 
368 typedef enum ompt_frame_flag_t {
375 
376 typedef enum ompt_state_t {
380 
386 
389 
395 
399 
402  ompt_state_undefined = 0x102
404 
405 typedef uint64_t (*ompt_get_unique_id_t) (void);
406 
408 
410 
412 typedef int64_t ompd_word_t;
414 
416 
418 
419 typedef enum ompd_scope_t {
425  ompd_scope_task = 6
427 
429 
430 typedef enum ompd_rc_t {
443 
444 typedef void (*ompt_interface_fn_t) (void);
445 
447  const char *interface_function_name
448 );
449 
450 typedef union ompt_data_t {
451  uint64_t value;
452  void *ptr;
454 
455 typedef struct ompt_frame_t {
458  int exit_frame_flags;
459  int enter_frame_flags;
461 
462 typedef void (*ompt_callback_t) (void);
463 
464 typedef void ompt_device_t;
465 
466 typedef void ompt_buffer_t;
467 
469  int device_num,
470  ompt_buffer_t **buffer,
471  size_t *bytes
472 );
473 
475  int device_num,
476  ompt_buffer_t *buffer,
477  size_t bytes,
478  ompt_buffer_cursor_t begin,
479  int buffer_owned
480 );
481 
482 typedef void (*ompt_finalize_t) (
483  ompt_data_t *tool_data
484 );
485 
486 typedef int (*ompt_initialize_t) (
487  ompt_function_lookup_t lookup,
488  int initial_device_num,
489  ompt_data_t *tool_data
490 );
491 
492 typedef struct ompt_start_tool_result_t {
497 
498 typedef struct ompt_record_abstract_t {
500  const char *type;
505 
506 typedef struct ompt_dependence_t {
510 
512  int current_state,
513  int *next_state,
514  const char **next_state_name
515 );
516 
518  int current_impl,
519  int *next_impl,
520  const char **next_impl_name
521 );
522 
524  ompt_callbacks_t event,
525  ompt_callback_t callback
526 );
527 
529  ompt_callbacks_t event,
530  ompt_callback_t *callback
531 );
532 
533 typedef ompt_data_t *(*ompt_get_thread_data_t) (void);
534 
535 typedef int (*ompt_get_num_procs_t) (void);
536 
537 typedef int (*ompt_get_num_places_t) (void);
538 
540  int place_num,
541  int ids_size,
542  int *ids
543 );
544 
545 typedef int (*ompt_get_place_num_t) (void);
546 
548  int place_nums_size,
549  int *place_nums
550 );
551 
552 typedef int (*ompt_get_proc_id_t) (void);
553 
554 typedef int (*ompt_get_state_t) (
555  ompt_wait_id_t *wait_id
556 );
557 
559  int ancestor_level,
560  ompt_data_t **parallel_data,
561  int *team_size
562 );
563 
565  int ancestor_level,
566  int *flags,
567  ompt_data_t **task_data,
568  ompt_frame_t **task_frame,
569  ompt_data_t **parallel_data,
570  int *thread_num
571 );
572 
574  void **addr,
575  size_t *size,
576  int block
577 );
578 
580  uint64_t *device_num,
581  ompt_id_t *target_id,
582  ompt_id_t *host_op_id
583 );
584 
585 typedef int (*ompt_get_num_devices_t) (void);
586 
587 typedef void (*ompt_finalize_tool_t) (void);
588 
590  ompt_device_t *device
591 );
592 
594  ompt_device_t *device
595 );
596 
598  ompt_device_t *device,
599  ompt_device_time_t time
600 );
601 
603  ompt_device_t *device,
604  unsigned int enable,
605  unsigned int etype
606 );
607 
609  ompt_device_t *device,
610  int enable,
611  int flags
612 );
613 
615  ompt_device_t *device,
618 );
619 
621  ompt_device_t *device,
622  int begin_pause
623 );
624 
626  ompt_device_t *device
627 );
628 
629 typedef int (*ompt_stop_trace_t) (
630  ompt_device_t *device
631 );
632 
634  ompt_device_t *device,
635  ompt_buffer_t *buffer,
636  size_t size,
637  ompt_buffer_cursor_t current,
639 );
640 
642  ompt_buffer_t *buffer,
643  ompt_buffer_cursor_t current
644 );
645 
646 typedef void *(*ompt_get_record_native_t) (
647  ompt_buffer_t *buffer,
648  ompt_buffer_cursor_t current,
649  ompt_id_t *host_op_id
650 );
651 
653 (*ompt_get_record_abstract_t) (
654  void *native_record
655 );
656 
658  ompt_thread_t thread_type,
659  ompt_data_t *thread_data
660 );
661 
662 typedef struct ompt_record_thread_begin_t {
665 
666 typedef void (*ompt_callback_thread_end_t) (
667  ompt_data_t *thread_data
668 );
669 
671  ompt_data_t *encountering_task_data,
672  const ompt_frame_t *encountering_task_frame,
673  ompt_data_t *parallel_data,
674  unsigned int requested_parallelism,
675  int flags,
676  const void *codeptr_ra
677 );
678 
679 typedef struct ompt_record_parallel_begin_t {
682  unsigned int requested_parallelism;
683  int flags;
684  const void *codeptr_ra;
686 
688  ompt_data_t *parallel_data,
689  ompt_data_t *encountering_task_data,
690  int flags,
691  const void *codeptr_ra
692 );
693 
694 typedef struct ompt_record_parallel_end_t {
697  int flags;
698  const void *codeptr_ra;
700 
701 typedef void (*ompt_callback_work_t) (
702  ompt_work_t wstype,
703  ompt_scope_endpoint_t endpoint,
704  ompt_data_t *parallel_data,
705  ompt_data_t *task_data,
706  uint64_t count,
707  const void *codeptr_ra
708 );
709 
710 typedef struct ompt_record_work_t {
715  uint64_t count;
716  const void *codeptr_ra;
718 
719 typedef void (*ompt_callback_dispatch_t) (
720  ompt_data_t *parallel_data,
721  ompt_data_t *task_data,
722  ompt_dispatch_t kind,
723  ompt_data_t instance
724 );
725 
726 typedef struct ompt_record_dispatch_t {
732 
734  ompt_data_t *encountering_task_data,
735  const ompt_frame_t *encountering_task_frame,
736  ompt_data_t *new_task_data,
737  int flags,
738  int has_dependences,
739  const void *codeptr_ra
740 );
741 
742 typedef struct ompt_record_task_create_t {
745  int flags;
746  int has_dependences;
747  const void *codeptr_ra;
749 
751  ompt_data_t *task_data,
752  const ompt_dependence_t *deps,
753  int ndeps
754 );
755 
756 typedef struct ompt_record_dependences_t {
759  int ndeps;
761 
763  ompt_data_t *src_task_data,
764  ompt_data_t *sink_task_data
765 );
766 
767 typedef struct ompt_record_task_dependence_t {
771 
773  ompt_data_t *prior_task_data,
774  ompt_task_status_t prior_task_status,
775  ompt_data_t *next_task_data
776 );
777 
778 typedef struct ompt_record_task_schedule_t {
783 
785  ompt_scope_endpoint_t endpoint,
786  ompt_data_t *parallel_data,
787  ompt_data_t *task_data,
788  unsigned int actual_parallelism,
789  unsigned int index,
790  int flags
791 );
792 
793 typedef struct ompt_record_implicit_task_t {
797  unsigned int actual_parallelism;
798  unsigned int index;
799  int flags;
801 
802 typedef void (*ompt_callback_master_t) (
803  ompt_scope_endpoint_t endpoint,
804  ompt_data_t *parallel_data,
805  ompt_data_t *task_data,
806  const void *codeptr_ra
807 );
808 
809 typedef struct ompt_record_master_t {
813  const void *codeptr_ra;
815 
817  ompt_sync_region_t kind,
818  ompt_scope_endpoint_t endpoint,
819  ompt_data_t *parallel_data,
820  ompt_data_t *task_data,
821  const void *codeptr_ra
822 );
823 
824 typedef struct ompt_record_sync_region_t {
829  const void *codeptr_ra;
831 
833  ompt_mutex_t kind,
834  unsigned int hint,
835  unsigned int impl,
836  ompt_wait_id_t wait_id,
837  const void *codeptr_ra
838 );
839 
840 typedef struct ompt_record_mutex_acquire_t {
842  unsigned int hint;
843  unsigned int impl;
845  const void *codeptr_ra;
847 
848 typedef void (*ompt_callback_mutex_t) (
849  ompt_mutex_t kind,
850  ompt_wait_id_t wait_id,
851  const void *codeptr_ra
852 );
853 
854 typedef struct ompt_record_mutex_t {
857  const void *codeptr_ra;
859 
860 typedef void (*ompt_callback_nest_lock_t) (
861  ompt_scope_endpoint_t endpoint,
862  ompt_wait_id_t wait_id,
863  const void *codeptr_ra
864 );
865 
866 typedef struct ompt_record_nest_lock_t {
869  const void *codeptr_ra;
871 
872 typedef void (*ompt_callback_flush_t) (
873  ompt_data_t *thread_data,
874  const void *codeptr_ra
875 );
876 
877 typedef struct ompt_record_flush_t {
878  const void *codeptr_ra;
880 
881 typedef void (*ompt_callback_cancel_t) (
882  ompt_data_t *task_data,
883  int flags,
884  const void *codeptr_ra
885 );
886 
887 typedef struct ompt_record_cancel_t {
889  int flags;
890  const void *codeptr_ra;
892 
894  int device_num,
895  const char *type,
896  ompt_device_t *device,
897  ompt_function_lookup_t lookup,
898  const char *documentation
899 );
900 
902  int device_num
903 );
904 
906  int device_num,
907  const char *filename,
908  int64_t offset_in_file,
909  void *vma_in_file,
910  size_t bytes,
911  void *host_addr,
912  void *device_addr,
913  uint64_t module_id
914 );
915 
917  int device_num,
918  uint64_t module_id
919 );
920 
922  ompt_id_t target_id,
923  ompt_id_t host_op_id,
924  ompt_target_data_op_t optype,
925  void *src_addr,
926  int src_device_num,
927  void *dest_addr,
928  int dest_device_num,
929  size_t bytes,
930  const void *codeptr_ra
931 );
932 
933 typedef struct ompt_record_target_data_op_t {
936  void *src_addr;
937  int src_device_num;
938  void *dest_addr;
939  int dest_device_num;
940  size_t bytes;
942  const void *codeptr_ra;
944 
945 typedef void (*ompt_callback_target_t) (
946  ompt_target_t kind,
947  ompt_scope_endpoint_t endpoint,
948  int device_num,
949  ompt_data_t *task_data,
950  ompt_id_t target_id,
951  const void *codeptr_ra
952 );
953 
954 typedef struct ompt_record_target_t {
957  int device_num;
960  const void *codeptr_ra;
962 
963 typedef void (*ompt_callback_target_map_t) (
964  ompt_id_t target_id,
965  unsigned int nitems,
966  void **host_addr,
967  void **device_addr,
968  size_t *bytes,
969  unsigned int *mapping_flags,
970  const void *codeptr_ra
971 );
972 
973 typedef struct ompt_record_target_map_t {
975  unsigned int nitems;
976  void **host_addr;
977  void **device_addr;
978  size_t *bytes;
979  unsigned int *mapping_flags;
980  const void *codeptr_ra;
982 
984  ompt_id_t target_id,
985  ompt_id_t host_op_id,
986  unsigned int requested_num_teams
987 );
988 
989 typedef struct ompt_record_target_kernel_t {
991  unsigned int requested_num_teams;
992  unsigned int granted_num_teams;
995 
997  uint64_t command,
998  uint64_t modifier,
999  void *arg,
1000  const void *codeptr_ra
1001 );
1002 
1003 typedef struct ompt_record_control_tool_t {
1004  uint64_t command;
1006  const void *codeptr_ra;
1008 
1009 typedef struct ompd_address_t {
1013 
1014 typedef struct ompd_frame_info_t {
1018 
1019 typedef struct _ompd_aspace_handle ompd_address_space_handle_t;
1020 typedef struct _ompd_thread_handle ompd_thread_handle_t;
1021 typedef struct _ompd_parallel_handle ompd_parallel_handle_t;
1022 typedef struct _ompd_task_handle ompd_task_handle_t;
1023 
1024 typedef struct _ompd_aspace_cont ompd_address_space_context_t;
1025 typedef struct _ompd_thread_cont ompd_thread_context_t;
1026 
1027 typedef struct ompd_device_type_sizes_t {
1035 
1036 typedef struct ompt_record_ompt_t {
1041  union {
1066 
1067 typedef ompt_record_ompt_t *(*ompt_get_record_ompt_t) (
1068  ompt_buffer_t *buffer,
1069  ompt_buffer_cursor_t current
1070 );
1071 
1072 #define ompt_id_none 0
1073 #define ompt_data_none {0}
1074 #define ompt_time_none 0
1075 #define ompt_hwid_none 0
1076 #define ompt_addr_none ~0
1077 #define ompt_mutex_impl_none 0
1078 #define ompt_wait_id_none 0
1079 
1080 #define ompd_segment_none 0
1081 
1082 #endif /* __OMPT__ */
__device__ int
__device__ double
static __inline__ uint64_t
Definition: arm_cde.h:31
static __inline__ uint8_t
Definition: arm_mve.h:323
ompt_task_status_t
Definition: omp-tools.h:312
struct _ompd_thread_cont ompd_thread_context_t
Definition: omp-tools.h:1025
uint64_t ompt_device_time_t
Definition: omp-tools.h:229
ompt_cancel_flag_t
Definition: omp-tools.h:354
ompt_mutex_t
Definition: omp-tools.h:279
ompt_dependence_type_t
Definition: omp-tools.h:345
struct _ompd_thread_handle ompd_thread_handle_t
Definition: omp-tools.h:1020
ompt_parallel_flag_t
Definition: omp-tools.h:329
ompt_target_map_flag_t
Definition: omp-tools.h:336
struct _ompd_task_handle ompd_task_handle_t
Definition: omp-tools.h:1022
uint64_t ompd_seg_t
Definition: omp-tools.h:413
ompt_task_flag_t
Definition: omp-tools.h:300
ompt_target_data_op_t
Definition: omp-tools.h:260
ompt_sync_region_t
Definition: omp-tools.h:250
uint64_t ompt_buffer_cursor_t
Definition: omp-tools.h:231
ompt_work_t
Definition: omp-tools.h:269
kmp_mutex_impl_t
Definition: omp-tools.h:162
uint64_t ompt_id_t
Definition: omp-tools.h:227
ompt_dispatch_t
Definition: omp-tools.h:245
struct _ompd_aspace_cont ompd_address_space_context_t
Definition: omp-tools.h:1024
ompt_callbacks_t
Definition: omp-tools.h:172
struct _ompd_aspace_handle ompd_address_space_handle_t
Definition: omp-tools.h:1019
ompt_native_mon_flag_t
Definition: omp-tools.h:289
ompt_state_t
Definition: omp-tools.h:376
uint64_t ompt_wait_id_t
Definition: omp-tools.h:366
ompt_record_native_t
Definition: omp-tools.h:213
ompt_scope_endpoint_t
Definition: omp-tools.h:240
ompt_record_t
Definition: omp-tools.h:207
ompt_target_t
Definition: omp-tools.h:322
ompt_set_result_t
Definition: omp-tools.h:218
ompd_scope_t
Definition: omp-tools.h:419
void ompt_buffer_t
Definition: omp-tools.h:466
void ompt_device_t
Definition: omp-tools.h:464
uint64_t ompt_hwid_t
Definition: omp-tools.h:364
int64_t ompd_word_t
Definition: omp-tools.h:412
struct _ompd_parallel_handle ompd_parallel_handle_t
Definition: omp-tools.h:1021
ompd_rc_t
Definition: omp-tools.h:430
ompt_frame_flag_t
Definition: omp-tools.h:368
ompt_thread_t
Definition: omp-tools.h:233
uint64_t ompd_addr_t
Definition: omp-tools.h:411
int(* ompt_enumerate_states_t)(int current_state, int *next_state, const char **next_state_name)
Definition: ompt.h:511
ompt_set_result_t(* ompt_set_callback_t)(ompt_callbacks_t event, ompt_callback_t callback)
Definition: ompt.h:523
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: ompt.h:784
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: ompt.h:963
ompt_task_status_t
Definition: ompt.h:312
@ ompt_task_detach
Definition: ompt.h:316
@ ompt_task_yield
Definition: ompt.h:314
@ ompt_task_switch
Definition: ompt.h:319
@ ompt_task_early_fulfill
Definition: ompt.h:317
@ ompt_task_complete
Definition: ompt.h:313
@ ompt_task_late_fulfill
Definition: ompt.h:318
@ ompt_task_cancel
Definition: ompt.h:315
void(* ompt_interface_fn_t)(void)
Definition: ompt.h:444
struct ompt_record_parallel_begin_t ompt_record_parallel_begin_t
struct ompt_record_target_data_op_t ompt_record_target_data_op_t
int(* ompt_get_task_memory_t)(void **addr, size_t *size, int block)
Definition: ompt.h:573
uint64_t ompd_wait_id_t
Definition: ompt.h:409
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: ompt.h:905
struct ompt_record_master_t ompt_record_master_t
struct ompt_record_cancel_t ompt_record_cancel_t
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: ompt.h:772
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: ompt.h:733
int(* ompt_get_place_proc_ids_t)(int place_num, int ids_size, int *ids)
Definition: ompt.h:539
union ompt_data_t ompt_data_t
#define FOREACH_KMP_MUTEX_IMPL(macro)
Definition: ompt.h:95
void(* ompt_callback_thread_end_t)(ompt_data_t *thread_data)
Definition: ompt.h:666
void(* ompt_callback_device_unload_t)(int device_num, uint64_t module_id)
Definition: ompt.h:916
void(* ompt_callback_t)(void)
Definition: ompt.h:462
int(* ompt_get_partition_place_nums_t)(int place_nums_size, int *place_nums)
Definition: ompt.h:547
#define kmp_mutex_impl_macro(impl, code)
Definition: ompt.h:163
double(* ompt_translate_time_t)(ompt_device_t *device, ompt_device_time_t time)
Definition: ompt.h:597
ompt_interface_fn_t(* ompt_function_lookup_t)(const char *interface_function_name)
Definition: ompt.h:446
int(* ompt_get_num_devices_t)(void)
Definition: ompt.h:585
uint64_t ompt_device_time_t
Definition: ompt.h:229
ompt_cancel_flag_t
Definition: ompt.h:354
@ ompt_cancel_sections
Definition: ompt.h:356
@ ompt_cancel_activated
Definition: ompt.h:359
@ ompt_cancel_loop
Definition: ompt.h:357
@ ompt_cancel_discarded_task
Definition: ompt.h:361
@ ompt_cancel_detected
Definition: ompt.h:360
@ ompt_cancel_parallel
Definition: ompt.h:355
@ ompt_cancel_taskgroup
Definition: ompt.h:358
struct ompt_record_target_kernel_t ompt_record_target_kernel_t
ompt_mutex_t
Definition: ompt.h:279
@ ompt_mutex_critical
Definition: ompt.h:284
@ ompt_mutex_test_lock
Definition: ompt.h:281
@ ompt_mutex_lock
Definition: ompt.h:280
@ ompt_mutex_ordered
Definition: ompt.h:286
@ ompt_mutex_atomic
Definition: ompt.h:285
@ ompt_mutex_test_nest_lock
Definition: ompt.h:283
@ ompt_mutex_nest_lock
Definition: ompt.h:282
ompt_dependence_type_t
Definition: ompt.h:345
@ ompt_dependence_type_in
Definition: ompt.h:346
@ ompt_dependence_type_out
Definition: ompt.h:347
@ ompt_dependence_type_sink
Definition: ompt.h:351
@ ompt_dependence_type_source
Definition: ompt.h:350
@ ompt_dependence_type_mutexinoutset
Definition: ompt.h:349
@ ompt_dependence_type_inout
Definition: ompt.h:348
void(* ompt_callback_flush_t)(ompt_data_t *thread_data, const void *codeptr_ra)
Definition: ompt.h:872
struct ompt_record_abstract_t ompt_record_abstract_t
void(* ompt_callback_target_submit_t)(ompt_id_t target_id, ompt_id_t host_op_id, unsigned int requested_num_teams)
Definition: ompt.h:983
ompt_parallel_flag_t
Definition: ompt.h:329
@ ompt_parallel_invoker_runtime
Definition: ompt.h:331
@ ompt_parallel_team
Definition: ompt.h:333
@ ompt_parallel_invoker_program
Definition: ompt.h:330
@ ompt_parallel_league
Definition: ompt.h:332
ompt_target_map_flag_t
Definition: ompt.h:336
@ ompt_target_map_flag_implicit
Definition: ompt.h:342
@ ompt_target_map_flag_to
Definition: ompt.h:337
@ ompt_target_map_flag_alloc
Definition: ompt.h:339
@ ompt_target_map_flag_delete
Definition: ompt.h:341
@ ompt_target_map_flag_from
Definition: ompt.h:338
@ ompt_target_map_flag_release
Definition: ompt.h:340
struct ompt_record_control_tool_t ompt_record_control_tool_t
void(* ompt_finalize_tool_t)(void)
Definition: ompt.h:587
struct ompd_frame_info_t ompd_frame_info_t
ompt_set_result_t(* ompt_set_trace_ompt_t)(ompt_device_t *device, unsigned int enable, unsigned int etype)
Definition: ompt.h:602
int(* ompt_get_place_num_t)(void)
Definition: ompt.h:545
struct ompt_record_parallel_end_t ompt_record_parallel_end_t
int(* ompt_pause_trace_t)(ompt_device_t *device, int begin_pause)
Definition: ompt.h:620
struct ompt_record_dependences_t ompt_record_dependences_t
struct ompt_record_task_dependence_t ompt_record_task_dependence_t
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: ompt.h:832
int(* ompt_get_num_procs_t)(void)
Definition: ompt.h:535
int(* ompt_get_device_num_procs_t)(ompt_device_t *device)
Definition: ompt.h:589
int(* ompt_enumerate_mutex_impls_t)(int current_impl, int *next_impl, const char **next_impl_name)
Definition: ompt.h:517
void(* ompt_finalize_t)(ompt_data_t *tool_data)
Definition: ompt.h:482
uint64_t ompd_seg_t
Definition: ompt.h:413
void(* ompt_callback_device_finalize_t)(int device_num)
Definition: ompt.h:901
void(* ompt_callback_master_t)(ompt_scope_endpoint_t endpoint, ompt_data_t *parallel_data, ompt_data_t *task_data, const void *codeptr_ra)
Definition: ompt.h:802
struct ompt_record_sync_region_t ompt_record_sync_region_t
struct ompt_record_task_create_t ompt_record_task_create_t
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: ompt.h:701
struct ompt_record_thread_begin_t ompt_record_thread_begin_t
ompt_task_flag_t
Definition: ompt.h:300
@ ompt_task_explicit
Definition: ompt.h:303
@ ompt_task_merged
Definition: ompt.h:309
@ ompt_task_initial
Definition: ompt.h:301
@ ompt_task_undeferred
Definition: ompt.h:305
@ ompt_task_target
Definition: ompt.h:304
@ ompt_task_final
Definition: ompt.h:307
@ ompt_task_implicit
Definition: ompt.h:302
@ ompt_task_mergeable
Definition: ompt.h:308
@ ompt_task_untied
Definition: ompt.h:306
void(* ompt_callback_thread_begin_t)(ompt_thread_t thread_type, ompt_data_t *thread_data)
Definition: ompt.h:657
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: ompt.h:893
uint64_t ompd_device_t
Definition: ompt.h:415
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: ompt.h:670
ompt_target_data_op_t
Definition: ompt.h:260
@ ompt_target_data_disassociate
Definition: ompt.h:266
@ ompt_target_data_alloc
Definition: ompt.h:261
@ ompt_target_data_transfer_to_device
Definition: ompt.h:262
@ ompt_target_data_associate
Definition: ompt.h:265
@ ompt_target_data_delete
Definition: ompt.h:264
@ ompt_target_data_transfer_from_device
Definition: ompt.h:263
ompt_sync_region_t
Definition: ompt.h:250
@ ompt_sync_region_reduction
Definition: ompt.h:257
@ ompt_sync_region_barrier
Definition: ompt.h:251
@ ompt_sync_region_barrier_implementation
Definition: ompt.h:254
@ ompt_sync_region_taskgroup
Definition: ompt.h:256
@ ompt_sync_region_taskwait
Definition: ompt.h:255
@ ompt_sync_region_barrier_explicit
Definition: ompt.h:253
@ ompt_sync_region_barrier_implicit
Definition: ompt.h:252
uint64_t(* ompt_get_unique_id_t)(void)
Definition: ompt.h:405
uint64_t ompt_buffer_cursor_t
Definition: ompt.h:231
ompt_work_t
Definition: ompt.h:269
@ ompt_work_single_other
Definition: ompt.h:273
@ ompt_work_taskloop
Definition: ompt.h:276
@ ompt_work_sections
Definition: ompt.h:271
@ ompt_work_workshare
Definition: ompt.h:274
@ ompt_work_loop
Definition: ompt.h:270
@ ompt_work_single_executor
Definition: ompt.h:272
@ ompt_work_distribute
Definition: ompt.h:275
kmp_mutex_impl_t
Definition: ompt.h:162
int(* ompt_get_state_t)(ompt_wait_id_t *wait_id)
Definition: ompt.h:554
uint64_t ompt_id_t
Definition: ompt.h:227
struct ompt_record_dispatch_t ompt_record_dispatch_t
struct ompt_start_tool_result_t ompt_start_tool_result_t
struct ompd_address_t ompd_address_t
int(* ompt_get_parallel_info_t)(int ancestor_level, ompt_data_t **parallel_data, int *team_size)
Definition: ompt.h:558
struct ompt_record_implicit_task_t ompt_record_implicit_task_t
void(* ompt_callback_dispatch_t)(ompt_data_t *parallel_data, ompt_data_t *task_data, ompt_dispatch_t kind, ompt_data_t instance)
Definition: ompt.h:719
ompt_dispatch_t
Definition: ompt.h:245
@ ompt_dispatch_section
Definition: ompt.h:247
@ ompt_dispatch_iteration
Definition: ompt.h:246
struct ompt_record_mutex_acquire_t ompt_record_mutex_acquire_t
uint64_t ompd_thread_id_t
Definition: ompt.h:417
ompt_callbacks_t
Definition: ompt.h:172
@ ompt_callback_lock_init
Definition: ompt.h:196
@ ompt_callback_device_initialize
Definition: ompt.h:184
@ ompt_callback_sync_region
Definition: ompt.h:195
@ ompt_callback_nest_lock
Definition: ompt.h:200
@ ompt_callback_thread_begin
Definition: ompt.h:173
@ ompt_callback_thread_end
Definition: ompt.h:174
@ ompt_callback_task_schedule
Definition: ompt.h:178
@ ompt_callback_mutex_released
Definition: ompt.h:189
@ ompt_callback_work
Definition: ompt.h:192
@ ompt_callback_device_unload
Definition: ompt.h:187
@ ompt_callback_device_load
Definition: ompt.h:186
@ ompt_callback_mutex_acquired
Definition: ompt.h:199
@ ompt_callback_target_map
Definition: ompt.h:194
@ ompt_callback_dependences
Definition: ompt.h:190
@ ompt_callback_parallel_end
Definition: ompt.h:176
@ ompt_callback_task_create
Definition: ompt.h:177
@ ompt_callback_target
Definition: ompt.h:180
@ ompt_callback_flush
Definition: ompt.h:201
@ ompt_callback_device_finalize
Definition: ompt.h:185
@ ompt_callback_sync_region_wait
Definition: ompt.h:188
@ ompt_callback_dispatch
Definition: ompt.h:204
@ ompt_callback_target_data_op
Definition: ompt.h:181
@ ompt_callback_target_submit
Definition: ompt.h:182
@ ompt_callback_control_tool
Definition: ompt.h:183
@ ompt_callback_reduction
Definition: ompt.h:203
@ ompt_callback_mutex_acquire
Definition: ompt.h:198
@ ompt_callback_parallel_begin
Definition: ompt.h:175
@ ompt_callback_lock_destroy
Definition: ompt.h:197
@ ompt_callback_master
Definition: ompt.h:193
@ ompt_callback_implicit_task
Definition: ompt.h:179
@ ompt_callback_task_dependence
Definition: ompt.h:191
@ ompt_callback_cancel
Definition: ompt.h:202
ompt_native_mon_flag_t
Definition: ompt.h:289
@ ompt_native_idleness
Definition: ompt.h:297
@ ompt_native_kernel_invocation
Definition: ompt.h:292
@ ompt_native_runtime
Definition: ompt.h:295
@ ompt_native_driver
Definition: ompt.h:294
@ ompt_native_overhead
Definition: ompt.h:296
@ ompt_native_data_motion_explicit
Definition: ompt.h:290
@ ompt_native_data_motion_implicit
Definition: ompt.h:291
@ ompt_native_kernel_execution
Definition: ompt.h:293
ompt_record_t(* ompt_get_record_type_t)(ompt_buffer_t *buffer, ompt_buffer_cursor_t current)
Definition: ompt.h:641
int(* ompt_start_trace_t)(ompt_device_t *device, ompt_callback_buffer_request_t request, ompt_callback_buffer_complete_t complete)
Definition: ompt.h:614
ompt_state_t
Definition: ompt.h:376
@ ompt_state_wait_barrier_explicit
Definition: ompt.h:385
@ ompt_state_wait_lock
Definition: ompt.h:391
@ ompt_state_wait_ordered
Definition: ompt.h:394
@ ompt_state_idle
Definition: ompt.h:400
@ ompt_state_wait_critical
Definition: ompt.h:392
@ ompt_state_wait_target_map
Definition: ompt.h:397
@ ompt_state_undefined
Definition: ompt.h:402
@ ompt_state_work_parallel
Definition: ompt.h:378
@ ompt_state_wait_barrier_implicit
Definition: ompt.h:384
@ ompt_state_overhead
Definition: ompt.h:401
@ ompt_state_work_reduction
Definition: ompt.h:379
@ ompt_state_wait_target_update
Definition: ompt.h:398
@ ompt_state_wait_barrier_implicit_parallel
Definition: ompt.h:382
@ ompt_state_work_serial
Definition: ompt.h:377
@ ompt_state_wait_taskwait
Definition: ompt.h:387
@ ompt_state_wait_mutex
Definition: ompt.h:390
@ ompt_state_wait_barrier_implicit_workshare
Definition: ompt.h:383
@ ompt_state_wait_target
Definition: ompt.h:396
@ ompt_state_wait_taskgroup
Definition: ompt.h:388
@ ompt_state_wait_barrier
Definition: ompt.h:381
@ ompt_state_wait_atomic
Definition: ompt.h:393
uint64_t ompd_icv_id_t
Definition: ompt.h:428
struct ompt_record_work_t ompt_record_work_t
int(* ompt_get_num_places_t)(void)
Definition: ompt.h:537
uint64_t ompt_wait_id_t
Definition: ompt.h:366
struct ompt_dependence_t ompt_dependence_t
int(* ompt_stop_trace_t)(ompt_device_t *device)
Definition: ompt.h:629
ompt_record_native_t
Definition: ompt.h:213
@ ompt_record_native_event
Definition: ompt.h:215
@ ompt_record_native_info
Definition: ompt.h:214
ompt_device_time_t(* ompt_get_device_time_t)(ompt_device_t *device)
Definition: ompt.h:593
ompt_scope_endpoint_t
Definition: ompt.h:240
@ ompt_scope_begin
Definition: ompt.h:241
@ ompt_scope_end
Definition: ompt.h:242
uint64_t ompd_size_t
Definition: ompt.h:407
void(* ompt_callback_parallel_end_t)(ompt_data_t *parallel_data, ompt_data_t *encountering_task_data, int flags, const void *codeptr_ra)
Definition: ompt.h:687
ompt_record_t
Definition: ompt.h:207
@ ompt_record_invalid
Definition: ompt.h:210
@ ompt_record_ompt
Definition: ompt.h:208
@ ompt_record_native
Definition: ompt.h:209
struct ompd_device_type_sizes_t ompd_device_type_sizes_t
void(* ompt_callback_mutex_t)(ompt_mutex_t kind, ompt_wait_id_t wait_id, const void *codeptr_ra)
Definition: ompt.h:848
ompt_target_t
Definition: ompt.h:322
@ ompt_target
Definition: ompt.h:323
@ ompt_target_enter_data
Definition: ompt.h:324
@ ompt_target_exit_data
Definition: ompt.h:325
@ ompt_target_update
Definition: ompt.h:326
ompt_set_result_t
Definition: ompt.h:218
@ ompt_set_never
Definition: ompt.h:220
@ ompt_set_impossible
Definition: ompt.h:221
@ ompt_set_error
Definition: ompt.h:219
@ ompt_set_always
Definition: ompt.h:224
@ ompt_set_sometimes
Definition: ompt.h:222
@ ompt_set_sometimes_paired
Definition: ompt.h:223
ompd_scope_t
Definition: ompt.h:419
@ ompd_scope_address_space
Definition: ompt.h:421
@ ompd_scope_implicit_task
Definition: ompt.h:424
@ ompd_scope_parallel
Definition: ompt.h:423
@ ompd_scope_thread
Definition: ompt.h:422
@ ompd_scope_task
Definition: ompt.h:425
@ ompd_scope_global
Definition: ompt.h:420
void(* ompt_callback_dependences_t)(ompt_data_t *task_data, const ompt_dependence_t *deps, int ndeps)
Definition: ompt.h:750
int(* ompt_initialize_t)(ompt_function_lookup_t lookup, int initial_device_num, ompt_data_t *tool_data)
Definition: ompt.h:486
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: ompt.h:564
struct ompt_record_target_t ompt_record_target_t
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: ompt.h:921
void ompt_buffer_t
Definition: ompt.h:466
struct ompt_frame_t ompt_frame_t
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: ompt.h:945
struct ompt_record_nest_lock_t ompt_record_nest_lock_t
struct ompt_record_task_schedule_t ompt_record_task_schedule_t
void ompt_device_t
Definition: ompt.h:464
int(* ompt_flush_trace_t)(ompt_device_t *device)
Definition: ompt.h:625
struct ompt_record_mutex_t ompt_record_mutex_t
uint64_t ompt_hwid_t
Definition: ompt.h:364
void(* ompt_callback_buffer_request_t)(int device_num, ompt_buffer_t **buffer, size_t *bytes)
Definition: ompt.h:468
int64_t ompd_word_t
Definition: ompt.h:412
int(* ompt_callback_control_tool_t)(uint64_t command, uint64_t modifier, void *arg, const void *codeptr_ra)
Definition: ompt.h:996
ompt_set_result_t(* ompt_set_trace_native_t)(ompt_device_t *device, int enable, int flags)
Definition: ompt.h:608
int(* ompt_get_callback_t)(ompt_callbacks_t event, ompt_callback_t *callback)
Definition: ompt.h:528
ompd_rc_t
Definition: ompt.h:430
@ ompd_rc_unsupported
Definition: ompt.h:436
@ ompd_rc_needs_state_tracking
Definition: ompt.h:437
@ ompd_rc_device_read_error
Definition: ompt.h:439
@ ompd_rc_nomem
Definition: ompt.h:441
@ ompd_rc_device_write_error
Definition: ompt.h:440
@ ompd_rc_incompatible
Definition: ompt.h:438
@ ompd_rc_bad_input
Definition: ompt.h:434
@ ompd_rc_error
Definition: ompt.h:435
@ ompd_rc_stale_handle
Definition: ompt.h:433
@ ompd_rc_unavailable
Definition: ompt.h:432
@ ompd_rc_ok
Definition: ompt.h:431
struct ompt_record_target_map_t ompt_record_target_map_t
ompt_frame_flag_t
Definition: ompt.h:368
@ ompt_frame_runtime
Definition: ompt.h:369
@ ompt_frame_framepointer
Definition: ompt.h:372
@ ompt_frame_application
Definition: ompt.h:370
@ ompt_frame_stackaddress
Definition: ompt.h:373
@ ompt_frame_cfa
Definition: ompt.h:371
void(* ompt_callback_task_dependence_t)(ompt_data_t *src_task_data, ompt_data_t *sink_task_data)
Definition: ompt.h:762
void(* ompt_callback_nest_lock_t)(ompt_scope_endpoint_t endpoint, ompt_wait_id_t wait_id, const void *codeptr_ra)
Definition: ompt.h:860
struct ompt_record_flush_t ompt_record_flush_t
ompt_thread_t
Definition: ompt.h:233
@ ompt_thread_initial
Definition: ompt.h:234
@ ompt_thread_unknown
Definition: ompt.h:237
@ ompt_thread_other
Definition: ompt.h:236
@ ompt_thread_worker
Definition: ompt.h:235
uint64_t ompd_addr_t
Definition: ompt.h:411
int(* ompt_get_target_info_t)(uint64_t *device_num, ompt_id_t *target_id, ompt_id_t *host_op_id)
Definition: ompt.h:579
void(* ompt_callback_cancel_t)(ompt_data_t *task_data, int flags, const void *codeptr_ra)
Definition: ompt.h:881
int(* ompt_get_proc_id_t)(void)
Definition: ompt.h:552
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: ompt.h:633
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: ompt.h:816
struct ompt_record_ompt_t ompt_record_ompt_t
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: ompt.h:474
ompd_addr_t address
Definition: omp-tools.h:1011
ompd_seg_t segment
Definition: omp-tools.h:1010
ompd_address_t frame_address
Definition: omp-tools.h:1015
ompd_word_t frame_flag
Definition: omp-tools.h:1016
ompt_data_t variable
Definition: omp-tools.h:507
ompt_dependence_type_t dependence_type
Definition: omp-tools.h:508
int enter_frame_flags
Definition: omp-tools.h:459
int exit_frame_flags
Definition: omp-tools.h:458
ompt_data_t enter_frame
Definition: omp-tools.h:457
ompt_data_t exit_frame
Definition: omp-tools.h:456
ompt_device_time_t start_time
Definition: omp-tools.h:501
ompt_record_native_t rclass
Definition: omp-tools.h:499
ompt_device_time_t end_time
Definition: omp-tools.h:502
const char * type
Definition: omp-tools.h:500
const void * codeptr_ra
Definition: omp-tools.h:890
ompt_dependence_t dep
Definition: omp-tools.h:758
ompt_dispatch_t kind
Definition: omp-tools.h:729
ompt_data_t instance
Definition: omp-tools.h:730
const void * codeptr_ra
Definition: omp-tools.h:878
unsigned int actual_parallelism
Definition: omp-tools.h:797
ompt_scope_endpoint_t endpoint
Definition: omp-tools.h:794
ompt_id_t parallel_id
Definition: omp-tools.h:811
const void * codeptr_ra
Definition: omp-tools.h:813
ompt_scope_endpoint_t endpoint
Definition: omp-tools.h:810
ompt_wait_id_t wait_id
Definition: omp-tools.h:844
const void * codeptr_ra
Definition: omp-tools.h:857
ompt_mutex_t kind
Definition: omp-tools.h:855
ompt_wait_id_t wait_id
Definition: omp-tools.h:856
ompt_scope_endpoint_t endpoint
Definition: omp-tools.h:867
const void * codeptr_ra
Definition: omp-tools.h:869
ompt_wait_id_t wait_id
Definition: omp-tools.h:868
ompt_record_task_create_t task_create
Definition: omp-tools.h:1047
ompt_record_sync_region_t sync_region
Definition: omp-tools.h:1053
ompt_record_master_t master
Definition: omp-tools.h:1052
ompt_record_cancel_t cancel
Definition: omp-tools.h:1058
ompt_record_control_tool_t control_tool
Definition: omp-tools.h:1063
ompt_record_dependences_t dependences
Definition: omp-tools.h:1048
ompt_record_nest_lock_t nest_lock
Definition: omp-tools.h:1056
ompt_record_target_t target
Definition: omp-tools.h:1059
ompt_id_t thread_id
Definition: omp-tools.h:1039
ompt_record_task_dependence_t task_dependence
Definition: omp-tools.h:1049
ompt_record_flush_t flush
Definition: omp-tools.h:1057
ompt_record_target_kernel_t target_kernel
Definition: omp-tools.h:1062
ompt_id_t target_id
Definition: omp-tools.h:1040
ompt_record_parallel_begin_t parallel_begin
Definition: omp-tools.h:1043
ompt_device_time_t time
Definition: omp-tools.h:1038
ompt_record_task_schedule_t task_schedule
Definition: omp-tools.h:1050
ompt_record_mutex_acquire_t mutex_acquire
Definition: omp-tools.h:1054
ompt_record_target_data_op_t target_data_op
Definition: omp-tools.h:1060
ompt_record_target_map_t target_map
Definition: omp-tools.h:1061
ompt_record_thread_begin_t thread_begin
Definition: omp-tools.h:1042
ompt_record_work_t work
Definition: omp-tools.h:1045
union ompt_record_ompt_t::@0 record
ompt_record_implicit_task_t implicit_task
Definition: omp-tools.h:1051
ompt_record_mutex_t mutex
Definition: omp-tools.h:1055
ompt_callbacks_t type
Definition: omp-tools.h:1037
ompt_record_parallel_end_t parallel_end
Definition: omp-tools.h:1044
ompt_record_dispatch_t dispatch
Definition: omp-tools.h:1046
unsigned int requested_parallelism
Definition: omp-tools.h:682
ompt_id_t encountering_task_id
Definition: omp-tools.h:696
const void * codeptr_ra
Definition: omp-tools.h:829
ompt_scope_endpoint_t endpoint
Definition: omp-tools.h:826
ompt_sync_region_t kind
Definition: omp-tools.h:825
ompt_device_time_t end_time
Definition: omp-tools.h:941
ompt_target_data_op_t optype
Definition: omp-tools.h:935
unsigned int granted_num_teams
Definition: omp-tools.h:992
ompt_device_time_t end_time
Definition: omp-tools.h:993
unsigned int requested_num_teams
Definition: omp-tools.h:991
unsigned int * mapping_flags
Definition: omp-tools.h:979
const void * codeptr_ra
Definition: omp-tools.h:980
ompt_id_t target_id
Definition: omp-tools.h:959
ompt_scope_endpoint_t endpoint
Definition: omp-tools.h:956
const void * codeptr_ra
Definition: omp-tools.h:960
ompt_target_t kind
Definition: omp-tools.h:955
ompt_id_t encountering_task_id
Definition: omp-tools.h:743
const void * codeptr_ra
Definition: omp-tools.h:747
ompt_task_status_t prior_task_status
Definition: omp-tools.h:780
ompt_thread_t thread_type
Definition: omp-tools.h:663
ompt_id_t task_id
Definition: omp-tools.h:714
ompt_work_t wstype
Definition: omp-tools.h:711
ompt_scope_endpoint_t endpoint
Definition: omp-tools.h:712
const void * codeptr_ra
Definition: omp-tools.h:716
ompt_id_t parallel_id
Definition: omp-tools.h:713
ompt_finalize_t finalize
Definition: omp-tools.h:494
ompt_initialize_t initialize
Definition: omp-tools.h:493
void * ptr
Definition: omp-tools.h:452
uint64_t value
Definition: omp-tools.h:451