diff options
| author | Joachim Protze <protze@itc.rwth-aachen.de> | 2017-11-01 10:08:30 +0000 |
|---|---|---|
| committer | Joachim Protze <protze@itc.rwth-aachen.de> | 2017-11-01 10:08:30 +0000 |
| commit | 82e94a593433f36734e2d34898d353a2ecb65b8b (patch) | |
| tree | d7ac69e35db74384a401862feb3eb31e78ca94ca /openmp/runtime/src/kmp.h | |
| parent | b93c06331ea77953e80bbd5ffb30167eade466f0 (diff) | |
| download | bcm5719-llvm-82e94a593433f36734e2d34898d353a2ecb65b8b.tar.gz bcm5719-llvm-82e94a593433f36734e2d34898d353a2ecb65b8b.zip | |
Update implementation of OMPT to the specification OpenMP 5.0 Preview 1 (TR4).
The code is tested to work with latest clang, GNU and Intel compiler. The implementation
is optimized for low overhead when no tool is attached shifting the cost to execution with
tool attached.
This patch does not implement OMPT for libomptarget.
Patch by Simon Convent and Joachim Protze
Differential Revision: https://reviews.llvm.org/D38185
llvm-svn: 317085
Diffstat (limited to 'openmp/runtime/src/kmp.h')
| -rw-r--r-- | openmp/runtime/src/kmp.h | 15 |
1 files changed, 10 insertions, 5 deletions
diff --git a/openmp/runtime/src/kmp.h b/openmp/runtime/src/kmp.h index cafe182ec87..9cabcbc72e8 100644 --- a/openmp/runtime/src/kmp.h +++ b/openmp/runtime/src/kmp.h @@ -200,6 +200,10 @@ Values for bit flags used in the ident_t to describe the fields. #define KMP_IDENT_BARRIER_IMPL_SINGLE 0x0140 #define KMP_IDENT_BARRIER_IMPL_WORKSHARE 0x01C0 +#define KMP_IDENT_WORK_LOOP 0x200 // static loop +#define KMP_IDENT_WORK_SECTIONS 0x400 // sections +#define KMP_IDENT_WORK_DISTRIBUTE 0x800 // distribute + /*! * The ident structure that describes a source location. */ @@ -798,6 +802,10 @@ extern kmp_hws_item_t __kmp_hws_proc; extern int __kmp_hws_requested; extern int __kmp_hws_abs_flag; // absolute or per-item number requested +#if OMP_50_ENABLED && LIBOMP_OMPT_SUPPORT +extern char const *__kmp_tool_libraries; +#endif // OMP_50_ENABLED && LIBOMP_OMPT_SUPPORT + /* ------------------------------------------------------------------------ */ #define KMP_PAD(type, sz) \ @@ -3314,7 +3322,7 @@ extern kmp_info_t *__kmp_allocate_thread(kmp_root_t *root, kmp_team_t *team, extern kmp_team_t * __kmp_allocate_team(kmp_root_t *root, int new_nproc, int max_nproc, #if OMPT_SUPPORT - ompt_parallel_id_t ompt_parallel_id, + ompt_data_t ompt_parallel_data, #endif kmp_proc_bind_t proc_bind, kmp_internal_control_t *new_icvs, int argc USE_NESTED_HOT_ARG(kmp_info_t *thr)); @@ -3322,7 +3330,7 @@ __kmp_allocate_team(kmp_root_t *root, int new_nproc, int max_nproc, extern kmp_team_t * __kmp_allocate_team(kmp_root_t *root, int new_nproc, int max_nproc, #if OMPT_SUPPORT - ompt_parallel_id_t ompt_parallel_id, + ompt_id_t ompt_parallel_id, #endif kmp_internal_control_t *new_icvs, int argc USE_NESTED_HOT_ARG(kmp_info_t *thr)); @@ -3362,9 +3370,6 @@ enum fork_context_e { }; extern int __kmp_fork_call(ident_t *loc, int gtid, enum fork_context_e fork_context, kmp_int32 argc, -#if OMPT_SUPPORT - void *unwrapped_task, -#endif microtask_t microtask, launch_t invoker, /* TODO: revert workaround for Intel(R) 64 tracker #96 */ #if (KMP_ARCH_ARM || KMP_ARCH_X86_64 || KMP_ARCH_AARCH64) && KMP_OS_LINUX |

