8#ifndef __STDC_FORMAT_MACROS
9#define __STDC_FORMAT_MACROS
17#include "../../src/kmp_platform.h"
20#define _TOOL_PREFIX ""
26 "ompt_thread_UNDEFINED",
"ompt_thread_initial",
"ompt_thread_worker",
30 "ompt_task_UNDEFINED",
35 "ompt_task_early_fulfill",
36 "ompt_task_late_fulfill",
38 "ompt_taskwait_complete"
41 "ompt_cancel_parallel",
42 "ompt_cancel_sections",
44 "ompt_cancel_taskgroup",
45 "ompt_cancel_activated",
46 "ompt_cancel_detected",
47 "ompt_cancel_discarded_task"
51 "ompt_dependence_type_UNDEFINED",
52 "ompt_dependence_type_in",
53 "ompt_dependence_type_out",
54 "ompt_dependence_type_inout",
55 "ompt_dependence_type_mutexinoutset",
56 "ompt_dependence_type_source",
57 "ompt_dependence_type_sink",
58 "ompt_dependence_type_inoutset",
59 "",
"",
"",
"",
"",
"",
60 "",
"",
"",
"",
"",
"",
"",
"",
"",
"",
61 "",
"",
"",
"",
"",
"",
"",
"",
"",
"",
62 "ompt_dependence_type_out_all_memory",
63 "ompt_dependence_type_inout_all_memory"
67 char *progress = buffer;
68 if (
type & ompt_task_initial)
69 progress += sprintf(progress,
"ompt_task_initial");
70 if (
type & ompt_task_implicit)
71 progress += sprintf(progress,
"ompt_task_implicit");
72 if (
type & ompt_task_explicit)
73 progress += sprintf(progress,
"ompt_task_explicit");
74 if (
type & ompt_task_target)
75 progress += sprintf(progress,
"ompt_task_target");
76 if (
type & ompt_task_taskwait)
77 progress += sprintf(progress,
"ompt_task_taskwait");
78 if (
type & ompt_task_undeferred)
79 progress += sprintf(progress,
"|ompt_task_undeferred");
80 if (
type & ompt_task_untied)
81 progress += sprintf(progress,
"|ompt_task_untied");
82 if (
type & ompt_task_final)
83 progress += sprintf(progress,
"|ompt_task_final");
84 if (
type & ompt_task_mergeable)
85 progress += sprintf(progress,
"|ompt_task_mergeable");
86 if (
type & ompt_task_merged)
87 progress += sprintf(progress,
"|ompt_task_merged");
110 int task_type, thread_num;
112 ompt_data_t *task_parallel_data;
113 ompt_data_t *task_data;
115 &task_parallel_data, &thread_num);
119 printf(
"%" PRIu64
": task level %d: parallel_id=%" PRIu64
120 ", task_id=%" PRIu64
", exit_frame=%p, reenter_frame=%p, "
121 "task_type=%s=%d, thread_num=%d\n",
123 exists_task ? task_parallel_data->value : 0,
124 exists_task ? task_data->value : 0,
frame->exit_frame.ptr,
125 frame->enter_frame.ptr, buffer, task_type, thread_num);
128#define get_frame_address(level) __builtin_frame_address(level)
130#define print_frame(level) \
131 printf("%" PRIu64 ": __builtin_frame_address(%d)=%p\n", \
132 ompt_get_thread_data()->value, level, get_frame_address(level))
135#if defined(TEST_NEED_PRINT_FRAME_FROM_OUTLINED_FN)
136 #if defined(DEBUG) && defined(__clang__) && __clang_major__ >= 5
137 #define print_frame_from_outlined_fn(level) print_frame(level+1)
139 #define print_frame_from_outlined_fn(level) print_frame(level)
142 #if defined(__clang__) && __clang_major__ >= 5
143 #warning "Clang 5.0 and later add an additional wrapper for outlined functions when compiling with debug information."
144 #warning "Please define -DDEBUG iff you manually pass in -g to make the tests succeed!"
159#define define_ompt_label(id) \
167#define get_ompt_label_address(id) (&& ompt_label_##id)
171#define print_current_address(id) \
172 define_ompt_label(id) \
173 print_possible_return_addresses(get_ompt_label_address(id))
175#if KMP_ARCH_X86 || KMP_ARCH_X86_64
178#define print_possible_return_addresses(addr) \
179 printf("%" PRIu64 ": current_address=%p or %p for non-void functions\n", \
180 ompt_get_thread_data()->value, ((char *)addr) - 1, ((char *)addr) - 4)
186#define print_possible_return_addresses(addr) \
187 printf("%" PRIu64 ": current_address=%p or %p\n", ompt_get_thread_data()->value, \
188 ((char *)addr) - 8, ((char *)addr) - 12)
189#elif KMP_ARCH_AARCH64 || KMP_ARCH_AARCH64_32
196#define print_possible_return_addresses(addr) \
197 printf("%" PRIu64 ": current_address=%p or %p or %p\n", \
198 ompt_get_thread_data()->value, ((char *)addr) - 4, \
199 ((char *)addr) - 8, ((char *)addr) - 12)
200#elif KMP_ARCH_RISCV64
201#if __riscv_compressed
207#define print_possible_return_addresses(addr) \
208 printf("%" PRIu64 ": current_address=%p or %p\n", \
209 ompt_get_thread_data()->value, ((char *)addr) - 6, ((char *)addr) - 10)
216#define print_possible_return_addresses(addr) \
217 printf("%" PRIu64 ": current_address=%p or %p\n", \
218 ompt_get_thread_data()->value, ((char *)addr) - 8, ((char *)addr) - 12)
220#elif KMP_ARCH_LOONGARCH64
225#define print_possible_return_addresses(addr) \
226 printf("%" PRIu64 ": current_address=%p or %p or %p\n", \
227 ompt_get_thread_data()->value, ((char *)addr) - 4, \
228 ((char *)addr) - 8, ((char *)addr) - 12)
232#define print_possible_return_addresses(addr) \
233 printf("%" PRIu64 ": current_address=%p or %p\n", \
234 ompt_get_thread_data()->value, ((char *)addr) - 8, \
248#define print_possible_return_addresses(addr) \
249 printf("%" PRIu64 ": current_address=%p or %p or %p\n", \
250 ompt_get_thread_data()->value, ((char *)addr) - 2, \
251 ((char *)addr) - 8, ((char *)addr) - 12)
253#error Unsupported target architecture, cannot determine address offset!
265#define print_fuzzy_address(id) \
266 define_ompt_label(id) \
267 print_fuzzy_address_blocks(get_ompt_label_address(id))
271#define FUZZY_ADDRESS_DISCARD_NIBBLES 2
272#define FUZZY_ADDRESS_DISCARD_BYTES (1 << ((FUZZY_ADDRESS_DISCARD_NIBBLES) * 4))
273#define print_fuzzy_address_blocks(addr) \
274 printf("%" PRIu64 ": fuzzy_address=0x%" PRIx64 " or 0x%" PRIx64 \
275 " or 0x%" PRIx64 " or 0x%" PRIx64 " (%p)\n", \
276 ompt_get_thread_data()->value, \
277 ((uint64_t)addr) / FUZZY_ADDRESS_DISCARD_BYTES - 1, \
278 ((uint64_t)addr) / FUZZY_ADDRESS_DISCARD_BYTES, \
279 ((uint64_t)addr) / FUZZY_ADDRESS_DISCARD_BYTES + 1, \
280 ((uint64_t)addr) / FUZZY_ADDRESS_DISCARD_BYTES + 2, addr)
282#define register_ompt_callback_t(name, type) \
284 type f_##name = &on_##name; \
285 if (ompt_set_callback(name, (ompt_callback_t)f_##name) == ompt_set_never) \
286 printf("0: Could not register callback '" #name "'\n"); \
289#define register_ompt_callback(name) register_ompt_callback_t(name, name##_t)
291#ifndef USE_PRIVATE_TOOL
297 ompt_wait_id_t wait_id,
298 const void *codeptr_ra)
302 case ompt_mutex_lock:
304 " ompt_event_wait_lock: wait_id=%" PRIu64
", hint=%" PRIu32
305 ", impl=%" PRIu32
", codeptr_ra=%p \n",
308 case ompt_mutex_test_lock:
310 " ompt_event_wait_test_lock: wait_id=%" PRIu64
", hint=%" PRIu32
311 ", impl=%" PRIu32
", codeptr_ra=%p \n",
314 case ompt_mutex_nest_lock:
316 " ompt_event_wait_nest_lock: wait_id=%" PRIu64
", hint=%" PRIu32
317 ", impl=%" PRIu32
", codeptr_ra=%p \n",
320 case ompt_mutex_test_nest_lock:
322 " ompt_event_wait_test_nest_lock: wait_id=%" PRIu64
323 ", hint=%" PRIu32
", impl=%" PRIu32
", codeptr_ra=%p \n",
326 case ompt_mutex_critical:
328 " ompt_event_wait_critical: wait_id=%" PRIu64
", hint=%" PRIu32
329 ", impl=%" PRIu32
", codeptr_ra=%p \n",
332 case ompt_mutex_atomic:
334 " ompt_event_wait_atomic: wait_id=%" PRIu64
", hint=%" PRIu32
335 ", impl=%" PRIu32
", codeptr_ra=%p \n",
338 case ompt_mutex_ordered:
340 " ompt_event_wait_ordered: wait_id=%" PRIu64
", hint=%" PRIu32
341 ", impl=%" PRIu32
", codeptr_ra=%p \n",
352 ompt_wait_id_t wait_id,
353 const void *codeptr_ra)
357 case ompt_mutex_lock:
359 " ompt_event_acquired_lock: wait_id=%" PRIu64
", codeptr_ra=%p \n",
362 case ompt_mutex_test_lock:
364 " ompt_event_acquired_test_lock: wait_id=%" PRIu64
365 ", codeptr_ra=%p \n",
368 case ompt_mutex_nest_lock:
370 " ompt_event_acquired_nest_lock_first: wait_id=%" PRIu64
371 ", codeptr_ra=%p \n",
374 case ompt_mutex_test_nest_lock:
376 " ompt_event_acquired_test_nest_lock_first: wait_id=%" PRIu64
377 ", codeptr_ra=%p \n",
380 case ompt_mutex_critical:
382 " ompt_event_acquired_critical: wait_id=%" PRIu64
383 ", codeptr_ra=%p \n",
386 case ompt_mutex_atomic:
388 " ompt_event_acquired_atomic: wait_id=%" PRIu64
389 ", codeptr_ra=%p \n",
392 case ompt_mutex_ordered:
394 " ompt_event_acquired_ordered: wait_id=%" PRIu64
395 ", codeptr_ra=%p \n",
406 ompt_wait_id_t wait_id,
407 const void *codeptr_ra)
411 case ompt_mutex_lock:
413 " ompt_event_release_lock: wait_id=%" PRIu64
", codeptr_ra=%p \n",
416 case ompt_mutex_nest_lock:
418 " ompt_event_release_nest_lock_last: wait_id=%" PRIu64
419 ", codeptr_ra=%p \n",
422 case ompt_mutex_critical:
424 " ompt_event_release_critical: wait_id=%" PRIu64
425 ", codeptr_ra=%p \n",
428 case ompt_mutex_atomic:
430 " ompt_event_release_atomic: wait_id=%" PRIu64
431 ", codeptr_ra=%p \n",
434 case ompt_mutex_ordered:
436 " ompt_event_release_ordered: wait_id=%" PRIu64
437 ", codeptr_ra=%p \n",
447 ompt_scope_endpoint_t endpoint,
448 ompt_wait_id_t wait_id,
449 const void *codeptr_ra)
453 case ompt_scope_begin:
455 " ompt_event_acquired_nest_lock_next: wait_id=%" PRIu64
456 ", codeptr_ra=%p \n",
461 " ompt_event_release_nest_lock_prev: wait_id=%" PRIu64
462 ", codeptr_ra=%p \n",
465 case ompt_scope_beginend:
466 printf(
"ompt_scope_beginend should never be passed to %s\n", __func__);
473 ompt_sync_region_t kind,
474 ompt_scope_endpoint_t endpoint,
475 ompt_data_t *parallel_data,
476 ompt_data_t *task_data,
477 const void *codeptr_ra)
481 case ompt_scope_begin:
484 case ompt_sync_region_barrier:
485 case ompt_sync_region_barrier_implicit:
486 case ompt_sync_region_barrier_implicit_workshare:
487 case ompt_sync_region_barrier_implicit_parallel:
488 case ompt_sync_region_barrier_teams:
489 case ompt_sync_region_barrier_explicit:
490 case ompt_sync_region_barrier_implementation:
492 " ompt_event_barrier_begin: parallel_id=%" PRIu64
493 ", task_id=%" PRIu64
", codeptr_ra=%p\n",
495 task_data->value, codeptr_ra);
498 case ompt_sync_region_taskwait:
500 " ompt_event_taskwait_begin: parallel_id=%" PRIu64
501 ", task_id=%" PRIu64
", codeptr_ra=%p\n",
503 task_data->value, codeptr_ra);
505 case ompt_sync_region_taskgroup:
507 " ompt_event_taskgroup_begin: parallel_id=%" PRIu64
508 ", task_id=%" PRIu64
", codeptr_ra=%p\n",
510 task_data->value, codeptr_ra);
512 case ompt_sync_region_reduction:
513 printf(
"ompt_sync_region_reduction should never be passed to "
514 "on_ompt_callback_sync_region\n");
522 case ompt_sync_region_barrier:
523 case ompt_sync_region_barrier_implicit:
524 case ompt_sync_region_barrier_explicit:
525 case ompt_sync_region_barrier_implicit_workshare:
526 case ompt_sync_region_barrier_implicit_parallel:
527 case ompt_sync_region_barrier_teams:
528 case ompt_sync_region_barrier_implementation:
530 " ompt_event_barrier_end: parallel_id=%" PRIu64
531 ", task_id=%" PRIu64
", codeptr_ra=%p\n",
533 (parallel_data) ? parallel_data->value : 0, task_data->value,
536 case ompt_sync_region_taskwait:
538 " ompt_event_taskwait_end: parallel_id=%" PRIu64
539 ", task_id=%" PRIu64
", codeptr_ra=%p\n",
541 (parallel_data) ? parallel_data->value : 0, task_data->value,
544 case ompt_sync_region_taskgroup:
546 " ompt_event_taskgroup_end: parallel_id=%" PRIu64
547 ", task_id=%" PRIu64
", codeptr_ra=%p\n",
549 (parallel_data) ? parallel_data->value : 0, task_data->value,
552 case ompt_sync_region_reduction:
553 printf(
"ompt_sync_region_reduction should never be passed to "
554 "on_ompt_callback_sync_region\n");
559 case ompt_scope_beginend:
560 printf(
"ompt_scope_beginend should never be passed to %s\n", __func__);
567 ompt_sync_region_t kind,
568 ompt_scope_endpoint_t endpoint,
569 ompt_data_t *parallel_data,
570 ompt_data_t *task_data,
571 const void *codeptr_ra)
575 case ompt_scope_begin:
578 case ompt_sync_region_barrier:
579 case ompt_sync_region_barrier_implicit:
580 case ompt_sync_region_barrier_implicit_workshare:
581 case ompt_sync_region_barrier_implicit_parallel:
582 case ompt_sync_region_barrier_teams:
583 case ompt_sync_region_barrier_explicit:
584 case ompt_sync_region_barrier_implementation:
586 " ompt_event_wait_barrier_begin: parallel_id=%" PRIu64
587 ", task_id=%" PRIu64
", codeptr_ra=%p\n",
589 task_data->value, codeptr_ra);
591 case ompt_sync_region_taskwait:
593 " ompt_event_wait_taskwait_begin: parallel_id=%" PRIu64
594 ", task_id=%" PRIu64
", codeptr_ra=%p\n",
596 task_data->value, codeptr_ra);
598 case ompt_sync_region_taskgroup:
600 " ompt_event_wait_taskgroup_begin: parallel_id=%" PRIu64
601 ", task_id=%" PRIu64
", codeptr_ra=%p\n",
603 task_data->value, codeptr_ra);
605 case ompt_sync_region_reduction:
606 printf(
"ompt_sync_region_reduction should never be passed to "
607 "on_ompt_callback_sync_region_wait\n");
615 case ompt_sync_region_barrier:
616 case ompt_sync_region_barrier_implicit:
617 case ompt_sync_region_barrier_implicit_workshare:
618 case ompt_sync_region_barrier_implicit_parallel:
619 case ompt_sync_region_barrier_teams:
620 case ompt_sync_region_barrier_explicit:
621 case ompt_sync_region_barrier_implementation:
623 " ompt_event_wait_barrier_end: parallel_id=%" PRIu64
624 ", task_id=%" PRIu64
", codeptr_ra=%p\n",
626 (parallel_data) ? parallel_data->value : 0, task_data->value,
629 case ompt_sync_region_taskwait:
631 " ompt_event_wait_taskwait_end: parallel_id=%" PRIu64
632 ", task_id=%" PRIu64
", codeptr_ra=%p\n",
634 (parallel_data) ? parallel_data->value : 0, task_data->value,
637 case ompt_sync_region_taskgroup:
639 " ompt_event_wait_taskgroup_end: parallel_id=%" PRIu64
640 ", task_id=%" PRIu64
", codeptr_ra=%p\n",
642 (parallel_data) ? parallel_data->value : 0, task_data->value,
645 case ompt_sync_region_reduction:
646 printf(
"ompt_sync_region_reduction should never be passed to "
647 "on_ompt_callback_sync_region_wait\n");
652 case ompt_scope_beginend:
653 printf(
"ompt_scope_beginend should never be passed to %s\n", __func__);
659 ompt_scope_endpoint_t endpoint,
660 ompt_data_t *parallel_data,
661 ompt_data_t *task_data,
662 const void *codeptr_ra) {
664 case ompt_scope_begin:
666 " ompt_event_reduction_begin: parallel_id=%" PRIu64
667 ", task_id=%" PRIu64
", codeptr_ra=%p\n",
669 (parallel_data) ? parallel_data->value : 0, task_data->value,
674 " ompt_event_reduction_end: parallel_id=%" PRIu64
675 ", task_id=%" PRIu64
", codeptr_ra=%p\n",
677 (parallel_data) ? parallel_data->value : 0, task_data->value,
680 case ompt_scope_beginend:
681 printf(
"ompt_scope_beginend should never be passed to %s\n", __func__);
688 ompt_data_t *thread_data,
689 const void *codeptr_ra)
691 printf(
"%" PRIu64
":" _TOOL_PREFIX " ompt_event_flush: codeptr_ra=%p\n",
692 thread_data->value, codeptr_ra);
697 ompt_data_t *task_data,
699 const void *codeptr_ra)
701 const char* first_flag_value;
702 const char* second_flag_value;
703 if(flags & ompt_cancel_parallel)
705 else if(flags & ompt_cancel_sections)
707 else if(flags & ompt_cancel_loop)
709 else if(flags & ompt_cancel_taskgroup)
712 if(flags & ompt_cancel_activated)
714 else if(flags & ompt_cancel_detected)
716 else if(flags & ompt_cancel_discarded_task)
719 printf(
"%" PRIu64
":" _TOOL_PREFIX " ompt_event_cancel: task_data=%" PRIu64
720 ", flags=%s|%s=%" PRIu32
", codeptr_ra=%p\n",
722 second_flag_value, flags, codeptr_ra);
727 ompt_scope_endpoint_t endpoint,
728 ompt_data_t *parallel_data,
729 ompt_data_t *task_data,
730 unsigned int team_size,
731 unsigned int thread_num,
736 case ompt_scope_begin:
738 printf(
"%s\n",
"0: task_data initially not null");
743 if(flags & ompt_task_initial)
749 if (team_size == 1 && thread_num == 1 && parallel_data->ptr)
750 printf(
"%s\n",
"0: parallel_data initially not null");
753 " ompt_event_initial_task_begin: parallel_id=%" PRIu64
754 ", task_id=%" PRIu64
", actual_parallelism=%" PRIu32
755 ", index=%" PRIu32
", flags=%" PRIu32
"\n",
757 task_data->value, team_size, thread_num, flags);
760 " ompt_event_implicit_task_begin: parallel_id=%" PRIu64
761 ", task_id=%" PRIu64
", team_size=%" PRIu32
762 ", thread_num=%" PRIu32
"\n",
764 task_data->value, team_size, thread_num);
769 if(flags & ompt_task_initial){
771 " ompt_event_initial_task_end: parallel_id=%" PRIu64
772 ", task_id=%" PRIu64
", actual_parallelism=%" PRIu32
773 ", index=%" PRIu32
"\n",
775 (parallel_data) ? parallel_data->value : 0, task_data->value,
776 team_size, thread_num);
779 " ompt_event_implicit_task_end: parallel_id=%" PRIu64
780 ", task_id=%" PRIu64
", team_size=%" PRIu32
781 ", thread_num=%" PRIu32
"\n",
783 (parallel_data) ? parallel_data->value : 0, task_data->value,
784 team_size, thread_num);
787 case ompt_scope_beginend:
788 printf(
"ompt_scope_beginend should never be passed to %s\n", __func__);
798 ompt_wait_id_t wait_id,
799 const void *codeptr_ra)
803 case ompt_mutex_lock:
805 " ompt_event_init_lock: wait_id=%" PRIu64
", hint=%" PRIu32
806 ", impl=%" PRIu32
", codeptr_ra=%p \n",
809 case ompt_mutex_nest_lock:
811 " ompt_event_init_nest_lock: wait_id=%" PRIu64
", hint=%" PRIu32
812 ", impl=%" PRIu32
", codeptr_ra=%p \n",
823 ompt_wait_id_t wait_id,
824 const void *codeptr_ra)
828 case ompt_mutex_lock:
830 " ompt_event_destroy_lock: wait_id=%" PRIu64
", codeptr_ra=%p \n",
833 case ompt_mutex_nest_lock:
835 " ompt_event_destroy_nest_lock: wait_id=%" PRIu64
836 ", codeptr_ra=%p \n",
847 ompt_scope_endpoint_t endpoint,
848 ompt_data_t *parallel_data,
849 ompt_data_t *task_data,
851 const void *codeptr_ra)
855 case ompt_scope_begin:
859 case ompt_work_loop_static:
860 case ompt_work_loop_dynamic:
861 case ompt_work_loop_guided:
862 case ompt_work_loop_other:
866 " ompt_event_loop_begin: parallel_id=%" PRIu64
867 ", parent_task_id=%" PRIu64
", codeptr_ra=%p, count=%" PRIu64
870 task_data->value, codeptr_ra,
count);
872 case ompt_work_sections:
874 " ompt_event_sections_begin: parallel_id=%" PRIu64
875 ", parent_task_id=%" PRIu64
", codeptr_ra=%p, count=%" PRIu64
878 task_data->value, codeptr_ra,
count);
880 case ompt_work_single_executor:
882 " ompt_event_single_in_block_begin: parallel_id=%" PRIu64
883 ", parent_task_id=%" PRIu64
", codeptr_ra=%p, count=%" PRIu64
886 task_data->value, codeptr_ra,
count);
888 case ompt_work_single_other:
890 " ompt_event_single_others_begin: parallel_id=%" PRIu64
891 ", task_id=%" PRIu64
", codeptr_ra=%p, count=%" PRIu64
"\n",
893 task_data->value, codeptr_ra,
count);
895 case ompt_work_workshare:
898 case ompt_work_distribute:
900 " ompt_event_distribute_begin: parallel_id=%" PRIu64
901 ", parent_task_id=%" PRIu64
", codeptr_ra=%p, count=%" PRIu64
904 task_data->value, codeptr_ra,
count);
906 case ompt_work_taskloop:
909 " ompt_event_taskloop_begin: parallel_id=%" PRIu64
910 ", parent_task_id=%" PRIu64
", codeptr_ra=%p, count=%" PRIu64
913 task_data->value, codeptr_ra,
count);
915 case ompt_work_scope:
917 " ompt_event_scope_begin: parallel_id=%" PRIu64
918 ", parent_task_id=%" PRIu64
", codeptr_ra=%p, count=%" PRIu64
921 task_data->value, codeptr_ra,
count);
929 case ompt_work_loop_static:
930 case ompt_work_loop_dynamic:
931 case ompt_work_loop_guided:
932 case ompt_work_loop_other:
934 " ompt_event_loop_end: parallel_id=%" PRIu64
935 ", task_id=%" PRIu64
", codeptr_ra=%p, count=%" PRIu64
"\n",
937 task_data->value, codeptr_ra,
count);
939 case ompt_work_sections:
941 " ompt_event_sections_end: parallel_id=%" PRIu64
942 ", task_id=%" PRIu64
", codeptr_ra=%p, count=%" PRIu64
"\n",
944 task_data->value, codeptr_ra,
count);
946 case ompt_work_single_executor:
948 " ompt_event_single_in_block_end: parallel_id=%" PRIu64
949 ", task_id=%" PRIu64
", codeptr_ra=%p, count=%" PRIu64
"\n",
951 task_data->value, codeptr_ra,
count);
953 case ompt_work_single_other:
955 " ompt_event_single_others_end: parallel_id=%" PRIu64
956 ", task_id=%" PRIu64
", codeptr_ra=%p, count=%" PRIu64
"\n",
958 task_data->value, codeptr_ra,
count);
960 case ompt_work_workshare:
963 case ompt_work_distribute:
965 " ompt_event_distribute_end: parallel_id=%" PRIu64
966 ", parent_task_id=%" PRIu64
", codeptr_ra=%p, count=%" PRIu64
969 task_data->value, codeptr_ra,
count);
971 case ompt_work_taskloop:
974 " ompt_event_taskloop_end: parallel_id=%" PRIu64
975 ", parent_task_id=%" PRIu64
", codeptr_ra=%p, count=%" PRIu64
978 task_data->value, codeptr_ra,
count);
980 case ompt_work_scope:
982 " ompt_event_scope_end: parallel_id=%" PRIu64
983 ", parent_task_id=%" PRIu64
", codeptr_ra=%p, count=%" PRIu64
986 task_data->value, codeptr_ra,
count);
990 case ompt_scope_beginend:
991 printf(
"ompt_scope_beginend should never be passed to %s\n", __func__);
997 ompt_data_t *parallel_data,
998 ompt_data_t *task_data,
999 ompt_dispatch_t kind,
1001 char *event_name = NULL;
1002 void *codeptr_ra = NULL;
1003 ompt_dispatch_chunk_t *dispatch_chunk = NULL;
1005 case ompt_dispatch_section:
1006 event_name =
"ompt_event_section_begin";
1009 case ompt_dispatch_ws_loop_chunk:
1010 event_name =
"ompt_event_ws_loop_chunk_begin";
1011 dispatch_chunk = (ompt_dispatch_chunk_t *)
instance.ptr;
1013 case ompt_dispatch_taskloop_chunk:
1014 event_name =
"ompt_event_taskloop_chunk_begin";
1015 dispatch_chunk = (ompt_dispatch_chunk_t *)
instance.ptr;
1017 case ompt_dispatch_distribute_chunk:
1018 event_name =
"ompt_event_distribute_chunk_begin";
1019 dispatch_chunk = (ompt_dispatch_chunk_t *)
instance.ptr;
1022 event_name =
"ompt_ws_loop_iteration_begin";
1025 " %s: parallel_id=%" PRIu64
", task_id=%" PRIu64
1026 ", codeptr_ra=%p, chunk_start=%" PRIu64
", chunk_iterations=%" PRIu64
1028 task_data->value, codeptr_ra,
1029 dispatch_chunk ? dispatch_chunk->start : 0,
1030 dispatch_chunk ? dispatch_chunk->iterations : 0);
1034 ompt_data_t *parallel_data,
1035 ompt_data_t *task_data,
1036 const void *codeptr_ra) {
1039 case ompt_scope_begin:
1041 " ompt_event_masked_begin: parallel_id=%" PRIu64
1042 ", task_id=%" PRIu64
", codeptr_ra=%p\n",
1044 task_data->value, codeptr_ra);
1046 case ompt_scope_end:
1048 " ompt_event_masked_end: parallel_id=%" PRIu64
", task_id=%" PRIu64
1049 ", codeptr_ra=%p\n",
1051 task_data->value, codeptr_ra);
1053 case ompt_scope_beginend:
1054 printf(
"ompt_scope_beginend should never be passed to %s\n", __func__);
1060 ompt_data_t *encountering_task_data,
1061 const ompt_frame_t *encountering_task_frame, ompt_data_t *parallel_data,
1062 uint32_t requested_team_size,
int flag,
const void *codeptr_ra) {
1063 if(parallel_data->ptr)
1064 printf(
"0: parallel_data initially not null\n");
1066 int invoker =
flag & 0xF;
1067 const char *
event = (
flag & ompt_parallel_team) ?
"parallel" :
"teams";
1068 const char *
size = (
flag & ompt_parallel_team) ?
"team_size" :
"num_teams";
1070 " ompt_event_%s_begin: parent_task_id=%" PRIu64
1071 ", parent_task_frame.exit=%p, parent_task_frame.reenter=%p, "
1072 "parallel_id=%" PRIu64
", requested_%s=%" PRIu32
1073 ", codeptr_ra=%p, invoker=%d\n",
1075 encountering_task_frame->exit_frame.ptr,
1076 encountering_task_frame->enter_frame.ptr, parallel_data->value,
size,
1077 requested_team_size, codeptr_ra, invoker);
1081 ompt_data_t *encountering_task_data,
1082 int flag,
const void *codeptr_ra) {
1083 int invoker =
flag & 0xF;
1084 const char *
event = (
flag & ompt_parallel_team) ?
"parallel" :
"teams";
1085 printf(
"%" PRIu64
":" _TOOL_PREFIX " ompt_event_%s_end: parallel_id=%" PRIu64
1086 ", task_id=%" PRIu64
", invoker=%d, codeptr_ra=%p\n",
1088 encountering_task_data->value, invoker, codeptr_ra);
1093 ompt_data_t *encountering_task_data,
1094 const ompt_frame_t *encountering_task_frame,
1095 ompt_data_t* new_task_data,
1097 int has_dependences,
1098 const void *codeptr_ra)
1100 if(new_task_data->ptr)
1101 printf(
"0: new_task_data initially not null\n");
1109 " ompt_event_task_create: parent_task_id=%" PRIu64
1110 ", parent_task_frame.exit=%p, parent_task_frame.reenter=%p, "
1111 "new_task_id=%" PRIu64
1112 ", codeptr_ra=%p, task_type=%s=%d, has_dependences=%s\n",
1114 encountering_task_data ? encountering_task_data->value : 0,
1115 encountering_task_frame ? encountering_task_frame->exit_frame.ptr : NULL,
1116 encountering_task_frame ? encountering_task_frame->enter_frame.ptr : NULL,
1117 new_task_data->value, codeptr_ra, buffer,
type,
1118 has_dependences ?
"yes" :
"no");
1123 ompt_data_t *first_task_data,
1124 ompt_task_status_t prior_task_status,
1125 ompt_data_t *second_task_data)
1128 " ompt_event_task_schedule: first_task_id=%" PRIu64
1129 ", second_task_id=%" PRIu64
", prior_task_status=%s=%d\n",
1131 (second_task_data ? second_task_data->value : -1),
1133 if (prior_task_status == ompt_task_complete ||
1134 prior_task_status == ompt_task_late_fulfill ||
1135 prior_task_status == ompt_taskwait_complete) {
1136 printf(
"%" PRIu64
":" _TOOL_PREFIX " ompt_event_task_end: task_id=%" PRIu64
1143 ompt_data_t *task_data,
1144 const ompt_dependence_t *deps,
1148 char *progress = buffer;
1150 for (
i = 0;
i < ndeps && progress < buffer + 2000;
i++) {
1151 if (deps[
i].dependence_type == ompt_dependence_type_source ||
1152 deps[
i].dependence_type == ompt_dependence_type_sink)
1154 sprintf(progress,
"(%" PRIu64
", %s), ", deps[
i].variable.value,
1158 sprintf(progress,
"(%p, %s), ", deps[
i].variable.ptr,
1163 printf(
"%" PRIu64
":" _TOOL_PREFIX " ompt_event_dependences: task_id=%" PRIu64
1164 ", deps=[%s], ndeps=%d\n",
1170 ompt_data_t *first_task_data,
1171 ompt_data_t *second_task_data)
1174 " ompt_event_task_dependence_pair: first_task_id=%" PRIu64
1175 ", second_task_id=%" PRIu64
"\n",
1177 second_task_data->value);
1182 ompt_thread_t thread_type,
1183 ompt_data_t *thread_data)
1185 if(thread_data->ptr)
1186 printf(
"%s\n",
"0: thread_data initially not null");
1189 " ompt_event_thread_begin: thread_type=%s=%d, thread_id=%" PRIu64
"\n",
1191 thread_type, thread_data->value);
1196 ompt_data_t *thread_data)
1198 printf(
"%" PRIu64
":" _TOOL_PREFIX " ompt_event_thread_end: thread_id=%" PRIu64
1208 const void *codeptr_ra)
1210 ompt_frame_t* omptTaskFrame;
1212 printf(
"%" PRIu64
":" _TOOL_PREFIX " ompt_event_control_tool: command=%" PRIu64
1213 ", modifier=%" PRIu64
1214 ", arg=%p, codeptr_ra=%p, current_task_frame.exit=%p, "
1215 "current_task_frame.reenter=%p \n",
1217 omptTaskFrame->exit_frame.ptr, omptTaskFrame->enter_frame.ptr);
1223 ompt_data_t *task_data;
1226 printf(
"%" PRIu64
":" _TOOL_PREFIX " task level %d: task_id=%" PRIu64
"\n",
1232 int parallel_level = 0;
1233 ompt_data_t *parallel_data;
1236 printf(
"%" PRIu64
":" _TOOL_PREFIX " parallel level %d: parallel_id=%" PRIu64
1246 const char *message,
size_t length,
1247 const void *codeptr_ra) {
1248 printf(
"%" PRIu64
": ompt_event_runtime_error: severity=%" PRIu32
1249 ", message=%s, length=%" PRIu64
", codeptr_ra=%p\n",
1255 ompt_function_lookup_t lookup,
1256 int initial_device_num,
1257 ompt_data_t *tool_data)
1305 printf(
"0: NULL_POINTER=%p\n", (
void*)NULL);
1311 printf(
"0: ompt_event_runtime_shutdown\n");
1318 unsigned int omp_version,
1319 const char *runtime_version)
static void on_ompt_callback_mutex_released(ompt_mutex_t kind, ompt_wait_id_t wait_id, const void *codeptr_ra)
static void on_ompt_callback_implicit_task(ompt_scope_endpoint_t endpoint, ompt_data_t *parallel_data, ompt_data_t *task_data, unsigned int team_size, unsigned int thread_num, int flags)
static const char * ompt_thread_t_values[]
static void print_ids(int level)
static void on_ompt_callback_parallel_end(ompt_data_t *parallel_data, ompt_data_t *encountering_task_data, int flag, const void *codeptr_ra)
static void on_ompt_callback_flush(ompt_data_t *thread_data, const void *codeptr_ra)
static ompt_get_task_info_t ompt_get_task_info
static ompt_enumerate_states_t ompt_enumerate_states
static void on_ompt_callback_lock_destroy(ompt_mutex_t kind, ompt_wait_id_t wait_id, const void *codeptr_ra)
static void on_ompt_callback_task_schedule(ompt_data_t *first_task_data, ompt_task_status_t prior_task_status, ompt_data_t *second_task_data)
static ompt_get_callback_t ompt_get_callback
static void format_task_type(int type, char *buffer)
static ompt_get_place_proc_ids_t ompt_get_place_proc_ids
static void on_ompt_callback_lock_init(ompt_mutex_t kind, unsigned int hint, unsigned int impl, ompt_wait_id_t wait_id, const void *codeptr_ra)
static ompt_set_callback_t ompt_set_callback
static ompt_get_place_num_t ompt_get_place_num
#define register_ompt_callback(name)
static void on_ompt_callback_masked(ompt_scope_endpoint_t endpoint, ompt_data_t *parallel_data, ompt_data_t *task_data, const void *codeptr_ra)
static void on_ompt_callback_dependences(ompt_data_t *task_data, const ompt_dependence_t *deps, int ndeps)
static ompt_get_partition_place_nums_t ompt_get_partition_place_nums
static void on_ompt_callback_task_create(ompt_data_t *encountering_task_data, const ompt_frame_t *encountering_task_frame, ompt_data_t *new_task_data, int type, int has_dependences, const void *codeptr_ra)
static void on_ompt_callback_error(ompt_severity_t severity, const char *message, size_t length, const void *codeptr_ra)
static void on_ompt_callback_nest_lock(ompt_scope_endpoint_t endpoint, ompt_wait_id_t wait_id, const void *codeptr_ra)
int ompt_initialize(ompt_function_lookup_t lookup, int initial_device_num, ompt_data_t *tool_data)
static void on_ompt_callback_mutex_acquired(ompt_mutex_t kind, ompt_wait_id_t wait_id, const void *codeptr_ra)
static const char * ompt_dependence_type_t_values[36]
static ompt_get_task_memory_t ompt_get_task_memory
static int on_ompt_callback_control_tool(uint64_t command, uint64_t modifier, void *arg, const void *codeptr_ra)
static const char * ompt_task_status_t_values[]
void ompt_finalize(ompt_data_t *tool_data)
static void on_ompt_callback_task_dependence(ompt_data_t *first_task_data, ompt_data_t *second_task_data)
static void on_ompt_callback_mutex_acquire(ompt_mutex_t kind, unsigned int hint, unsigned int impl, ompt_wait_id_t wait_id, const void *codeptr_ra)
#define register_ompt_callback_t(name, type)
static void on_ompt_callback_parallel_begin(ompt_data_t *encountering_task_data, const ompt_frame_t *encountering_task_frame, ompt_data_t *parallel_data, uint32_t requested_team_size, int flag, const void *codeptr_ra)
static ompt_get_num_procs_t ompt_get_num_procs
static void on_ompt_callback_thread_end(ompt_data_t *thread_data)
static void on_ompt_callback_sync_region(ompt_sync_region_t kind, ompt_scope_endpoint_t endpoint, ompt_data_t *parallel_data, ompt_data_t *task_data, const void *codeptr_ra)
static void on_ompt_callback_work(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)
static ompt_finalize_tool_t ompt_finalize_tool
static ompt_get_num_places_t ompt_get_num_places
static ompt_get_unique_id_t ompt_get_unique_id
static ompt_get_state_t ompt_get_state
static const char * ompt_cancel_flag_t_values[]
static void on_ompt_callback_thread_begin(ompt_thread_t thread_type, ompt_data_t *thread_data)
static void on_ompt_callback_sync_region_wait(ompt_sync_region_t kind, ompt_scope_endpoint_t endpoint, ompt_data_t *parallel_data, ompt_data_t *task_data, const void *codeptr_ra)
static void on_ompt_callback_dispatch(ompt_data_t *parallel_data, ompt_data_t *task_data, ompt_dispatch_t kind, ompt_data_t instance)
static void on_ompt_callback_reduction(ompt_sync_region_t kind, ompt_scope_endpoint_t endpoint, ompt_data_t *parallel_data, ompt_data_t *task_data, const void *codeptr_ra)
static ompt_get_parallel_info_t ompt_get_parallel_info
static void on_ompt_callback_cancel(ompt_data_t *task_data, int flags, const void *codeptr_ra)
static ompt_get_proc_id_t ompt_get_proc_id
static ompt_get_thread_data_t ompt_get_thread_data
static ompt_enumerate_mutex_impls_t ompt_enumerate_mutex_impls
void const char const char int ITT_FORMAT __itt_group_sync x void const char ITT_FORMAT __itt_group_sync s void ITT_FORMAT __itt_group_sync p void ITT_FORMAT p void ITT_FORMAT p no args __itt_suppress_mode_t unsigned int void size_t ITT_FORMAT d void ITT_FORMAT p void ITT_FORMAT p __itt_model_site __itt_model_site_instance * instance
void const char const char int ITT_FORMAT __itt_group_sync x void const char ITT_FORMAT __itt_group_sync s void ITT_FORMAT __itt_group_sync p void ITT_FORMAT p void ITT_FORMAT p no args __itt_suppress_mode_t unsigned int void size_t ITT_FORMAT d void ITT_FORMAT p void ITT_FORMAT p __itt_model_site __itt_model_site_instance ITT_FORMAT p __itt_model_task __itt_model_task_instance ITT_FORMAT p void ITT_FORMAT p void ITT_FORMAT p void size_t ITT_FORMAT d void ITT_FORMAT p const wchar_t ITT_FORMAT s const char ITT_FORMAT s const char ITT_FORMAT s const char ITT_FORMAT s no args void ITT_FORMAT p size_t count
void const char const char int ITT_FORMAT __itt_group_sync x void const char ITT_FORMAT __itt_group_sync s void ITT_FORMAT __itt_group_sync p void ITT_FORMAT p void ITT_FORMAT p no args __itt_suppress_mode_t unsigned int void size_t ITT_FORMAT d void ITT_FORMAT p void ITT_FORMAT p __itt_model_site __itt_model_site_instance ITT_FORMAT p __itt_model_task __itt_model_task_instance ITT_FORMAT p void ITT_FORMAT p void ITT_FORMAT p void size_t ITT_FORMAT d void ITT_FORMAT p const wchar_t ITT_FORMAT s const char ITT_FORMAT s const char ITT_FORMAT s const char ITT_FORMAT s no args void ITT_FORMAT p size_t ITT_FORMAT d no args const wchar_t const wchar_t ITT_FORMAT s __itt_heap_function void size_t int ITT_FORMAT d __itt_heap_function void ITT_FORMAT p __itt_heap_function void void size_t int ITT_FORMAT d no args no args unsigned int ITT_FORMAT u const __itt_domain __itt_id ITT_FORMAT lu const __itt_domain __itt_id __itt_id __itt_string_handle ITT_FORMAT p const __itt_domain __itt_id ITT_FORMAT p const __itt_domain __itt_id __itt_timestamp __itt_timestamp ITT_FORMAT lu const __itt_domain __itt_id __itt_id __itt_string_handle ITT_FORMAT p const __itt_domain ITT_FORMAT p const __itt_domain __itt_string_handle unsigned long long ITT_FORMAT lu const __itt_domain __itt_string_handle unsigned long long ITT_FORMAT lu const __itt_domain __itt_id __itt_string_handle __itt_metadata_type size_t void ITT_FORMAT p const __itt_domain __itt_id __itt_string_handle const wchar_t size_t length
void const char const char int ITT_FORMAT __itt_group_sync x void const char ITT_FORMAT __itt_group_sync s void ITT_FORMAT __itt_group_sync p void ITT_FORMAT p void ITT_FORMAT p no args __itt_suppress_mode_t unsigned int void size_t ITT_FORMAT d void ITT_FORMAT p void ITT_FORMAT p __itt_model_site __itt_model_site_instance ITT_FORMAT p __itt_model_task __itt_model_task_instance ITT_FORMAT p void ITT_FORMAT p void ITT_FORMAT p void size_t ITT_FORMAT d void ITT_FORMAT p const wchar_t ITT_FORMAT s const char ITT_FORMAT s const char ITT_FORMAT s const char ITT_FORMAT s no args void ITT_FORMAT p size_t ITT_FORMAT d no args const wchar_t const wchar_t ITT_FORMAT s __itt_heap_function void size_t int ITT_FORMAT d __itt_heap_function void ITT_FORMAT p __itt_heap_function void void size_t int ITT_FORMAT d no args no args unsigned int ITT_FORMAT u const __itt_domain __itt_id ITT_FORMAT lu const __itt_domain __itt_id __itt_id __itt_string_handle ITT_FORMAT p const __itt_domain __itt_id ITT_FORMAT p const __itt_domain __itt_id __itt_timestamp __itt_timestamp ITT_FORMAT lu const __itt_domain __itt_id __itt_id __itt_string_handle ITT_FORMAT p const __itt_domain ITT_FORMAT p const __itt_domain __itt_string_handle unsigned long long ITT_FORMAT lu const __itt_domain __itt_string_handle unsigned long long ITT_FORMAT lu const __itt_domain __itt_id __itt_string_handle __itt_metadata_type size_t void ITT_FORMAT p const __itt_domain __itt_id __itt_string_handle const wchar_t size_t ITT_FORMAT lu const __itt_domain __itt_id __itt_relation __itt_id ITT_FORMAT p const wchar_t int ITT_FORMAT __itt_group_mark d __itt_event event
void const char const char int ITT_FORMAT __itt_group_sync x void const char ITT_FORMAT __itt_group_sync s void ITT_FORMAT __itt_group_sync p void ITT_FORMAT p void ITT_FORMAT p no args __itt_suppress_mode_t unsigned int void size_t ITT_FORMAT d void ITT_FORMAT p void ITT_FORMAT p __itt_model_site __itt_model_site_instance ITT_FORMAT p __itt_model_task __itt_model_task_instance ITT_FORMAT p void ITT_FORMAT p void ITT_FORMAT p void size_t ITT_FORMAT d void ITT_FORMAT p const wchar_t ITT_FORMAT s const char ITT_FORMAT s const char ITT_FORMAT s const char ITT_FORMAT s no args void ITT_FORMAT p size_t ITT_FORMAT d no args const wchar_t const wchar_t ITT_FORMAT s __itt_heap_function void size_t int ITT_FORMAT d __itt_heap_function void ITT_FORMAT p __itt_heap_function void void size_t int ITT_FORMAT d no args no args unsigned int ITT_FORMAT u const __itt_domain __itt_id ITT_FORMAT lu const __itt_domain __itt_id __itt_id __itt_string_handle ITT_FORMAT p const __itt_domain __itt_id ITT_FORMAT p const __itt_domain __itt_id __itt_timestamp __itt_timestamp ITT_FORMAT lu const __itt_domain __itt_id __itt_id __itt_string_handle ITT_FORMAT p const __itt_domain ITT_FORMAT p const __itt_domain __itt_string_handle unsigned long long value
void const char const char int ITT_FORMAT __itt_group_sync x void const char ITT_FORMAT __itt_group_sync s void ITT_FORMAT __itt_group_sync p void ITT_FORMAT p void ITT_FORMAT p no args __itt_suppress_mode_t unsigned int void size_t size
void const char const char int ITT_FORMAT __itt_group_sync x void const char ITT_FORMAT __itt_group_sync s void ITT_FORMAT __itt_group_sync p void ITT_FORMAT p void ITT_FORMAT p no args __itt_suppress_mode_t unsigned int void size_t ITT_FORMAT d void ITT_FORMAT p void ITT_FORMAT p __itt_model_site __itt_model_site_instance ITT_FORMAT p __itt_model_task __itt_model_task_instance ITT_FORMAT p void ITT_FORMAT p void ITT_FORMAT p void size_t ITT_FORMAT d void ITT_FORMAT p const wchar_t ITT_FORMAT s const char ITT_FORMAT s const char ITT_FORMAT s const char ITT_FORMAT s no args void ITT_FORMAT p size_t ITT_FORMAT d no args const wchar_t const wchar_t ITT_FORMAT s __itt_heap_function void size_t int ITT_FORMAT d __itt_heap_function void ITT_FORMAT p __itt_heap_function void void size_t int ITT_FORMAT d no args no args unsigned int ITT_FORMAT u const __itt_domain __itt_id ITT_FORMAT lu const __itt_domain __itt_id __itt_id __itt_string_handle ITT_FORMAT p const __itt_domain __itt_id ITT_FORMAT p const __itt_domain __itt_id __itt_timestamp __itt_timestamp ITT_FORMAT lu const __itt_domain __itt_id __itt_id __itt_string_handle ITT_FORMAT p const __itt_domain ITT_FORMAT p const __itt_domain __itt_string_handle unsigned long long ITT_FORMAT lu const __itt_domain __itt_string_handle unsigned long long ITT_FORMAT lu const __itt_domain __itt_id __itt_string_handle __itt_metadata_type size_t void ITT_FORMAT p const __itt_domain __itt_id __itt_string_handle const wchar_t size_t ITT_FORMAT lu const __itt_domain __itt_id __itt_relation __itt_id ITT_FORMAT p const wchar_t int ITT_FORMAT __itt_group_mark d __itt_event ITT_FORMAT __itt_group_mark d void const wchar_t const wchar_t int ITT_FORMAT __itt_group_sync __itt_group_fsync x void const wchar_t int const wchar_t int int ITT_FORMAT __itt_group_sync __itt_group_fsync x void ITT_FORMAT __itt_group_sync __itt_group_fsync p void ITT_FORMAT __itt_group_sync __itt_group_fsync p void size_t ITT_FORMAT lu no args __itt_obj_prop_t __itt_obj_state_t ITT_FORMAT d const char ITT_FORMAT s const char ITT_FORMAT s __itt_frame frame
void const char const char int ITT_FORMAT __itt_group_sync x void const char ITT_FORMAT __itt_group_sync s void ITT_FORMAT __itt_group_sync p void ITT_FORMAT p void ITT_FORMAT p no args __itt_suppress_mode_t unsigned int void size_t ITT_FORMAT d void ITT_FORMAT p void ITT_FORMAT p __itt_model_site __itt_model_site_instance ITT_FORMAT p __itt_model_task __itt_model_task_instance ITT_FORMAT p void ITT_FORMAT p void ITT_FORMAT p void size_t ITT_FORMAT d void ITT_FORMAT p const wchar_t ITT_FORMAT s const char ITT_FORMAT s const char ITT_FORMAT s const char ITT_FORMAT s no args void ITT_FORMAT p size_t ITT_FORMAT d no args const wchar_t const wchar_t ITT_FORMAT s __itt_heap_function void size_t int ITT_FORMAT d __itt_heap_function void ITT_FORMAT p __itt_heap_function void void size_t int ITT_FORMAT d no args no args unsigned int ITT_FORMAT u const __itt_domain __itt_id ITT_FORMAT lu const __itt_domain __itt_id __itt_id __itt_string_handle ITT_FORMAT p const __itt_domain __itt_id ITT_FORMAT p const __itt_domain __itt_id __itt_timestamp __itt_timestamp ITT_FORMAT lu const __itt_domain __itt_id __itt_id __itt_string_handle ITT_FORMAT p const __itt_domain ITT_FORMAT p const __itt_domain __itt_string_handle unsigned long long ITT_FORMAT lu const __itt_domain __itt_string_handle unsigned long long ITT_FORMAT lu const __itt_domain __itt_id __itt_string_handle __itt_metadata_type type
struct ompt_start_tool_result_t ompt_start_tool_result_t
static ompt_start_tool_result_t * ompt_start_tool_result