13#ifndef __OMPT_INTERNAL_H__
14#define __OMPT_INTERNAL_H__
21#define _OMP_EXTERN extern "C"
23#define OMPT_INVOKER(x) \
24 ((x == fork_context_gnu) ? ompt_parallel_invoker_program \
25 : ompt_parallel_invoker_runtime)
27#define ompt_callback(e) e##_callback
30#define ompt_event_macro(event, callback, eventid) \
31 callback ompt_callback(event);
35#undef ompt_event_macro
40#define ompt_event_macro(event, callback, eventid) unsigned int event : 1;
44#undef ompt_event_macro
47#define TASK_TYPE_DETAILS_FORMAT(info) \
48 ((info->td_flags.task_serial || info->td_flags.tasking_ser) \
49 ? ompt_task_undeferred \
51 ((!(info->td_flags.tiedness)) ? ompt_task_untied : 0x0) | \
52 (info->td_flags.final ? ompt_task_final : 0x0) | \
53 (info->td_flags.target \
55 : (info->td_flags.tasktype ? ompt_task_explicit \
56 : ompt_task_implicit)) | \
57 (info->td_flags.merged_if0 ? ompt_task_mergeable : 0x0)
94#if OMPT_SUPPORT && OMPT_OPTIONAL
96#define KMP_OMPT_DEPS_ALLOC __kmp_fast_allocate
97#define KMP_OMPT_DEPS_FREE __kmp_fast_free
99#define KMP_OMPT_DEPS_ALLOC __kmp_thread_malloc
100#define KMP_OMPT_DEPS_FREE __kmp_thread_free
112#define OMPT_GET_RETURN_ADDRESS(level) __builtin_return_address(level)
113#define OMPT_GET_FRAME_ADDRESS(level) __builtin_frame_address(level)
120#define UNLIKELY(x) (x)
121#define OMPT_NOINLINE __declspec(noinline)
123#define UNLIKELY(x) __builtin_expect(!!(x), 0)
124#define OMPT_NOINLINE __attribute__((noinline))
struct ompt_callbacks_internal_s ompt_callbacks_internal_t
struct ompt_callbacks_active_s ompt_callbacks_active_t
struct ompt_lw_taskteam_s ompt_lw_taskteam_t
ompt_callbacks_active_t ompt_enabled
#define ompt_event_macro(event, callback, eventid)
void ompt_post_init(void)
int __kmp_control_tool(uint64_t command, uint64_t modifier, void *arg)
ompt_callbacks_internal_t ompt_callbacks
ompt_team_info_t ompt_team_info
struct ompt_lw_taskteam_s * parent
ompt_task_info_t ompt_task_info
ompt_dispatch_chunk_t dispatch_chunk
struct kmp_taskdata * scheduling_parent
void * master_return_address
ompt_data_t parallel_data
ompt_data_t target_task_data