summaryrefslogtreecommitdiffstats
path: root/openmp/runtime/src/kmp.h
diff options
context:
space:
mode:
authorJoachim Protze <protze@itc.rwth-aachen.de>2017-11-01 10:08:30 +0000
committerJoachim Protze <protze@itc.rwth-aachen.de>2017-11-01 10:08:30 +0000
commit82e94a593433f36734e2d34898d353a2ecb65b8b (patch)
treed7ac69e35db74384a401862feb3eb31e78ca94ca /openmp/runtime/src/kmp.h
parentb93c06331ea77953e80bbd5ffb30167eade466f0 (diff)
downloadbcm5719-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.h15
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
OpenPOWER on IntegriCloud