aboutsummaryrefslogtreecommitdiff
path: root/lib/libomp/omp-tools.h
diff options
context:
space:
mode:
Diffstat (limited to 'lib/libomp/omp-tools.h')
-rw-r--r--lib/libomp/omp-tools.h94
1 files changed, 67 insertions, 27 deletions
diff --git a/lib/libomp/omp-tools.h b/lib/libomp/omp-tools.h
index 1749be7e0508..a3ec0309db18 100644
--- a/lib/libomp/omp-tools.h
+++ b/lib/libomp/omp-tools.h
@@ -1,4 +1,3 @@
-// $FreeBSD$
/*
* include/omp-tools.h.var
*/
@@ -109,7 +108,7 @@
macro (kmp_mutex_impl_queuing, 2) /* based on some fair policy */ \
macro (kmp_mutex_impl_speculative, 3) /* based on HW-supported speculation */
-#define FOREACH_OMPT_EVENT(macro) \
+#define FOREACH_OMPT_HOST_EVENT(macro) \
\
/*--- Mandatory Events ---*/ \
macro (ompt_callback_thread_begin, ompt_callback_thread_begin_t, 1) /* thread begin */ \
@@ -122,18 +121,8 @@
macro (ompt_callback_task_schedule, ompt_callback_task_schedule_t, 6) /* task schedule */ \
macro (ompt_callback_implicit_task, ompt_callback_implicit_task_t, 7) /* implicit task */ \
\
- macro (ompt_callback_target, ompt_callback_target_t, 8) /* target */ \
- macro (ompt_callback_target_data_op, ompt_callback_target_data_op_t, 9) /* target data op */ \
- macro (ompt_callback_target_submit, ompt_callback_target_submit_t, 10) /* target submit */ \
- \
macro (ompt_callback_control_tool, ompt_callback_control_tool_t, 11) /* control tool */ \
\
- macro (ompt_callback_device_initialize, ompt_callback_device_initialize_t, 12) /* device initialize */ \
- macro (ompt_callback_device_finalize, ompt_callback_device_finalize_t, 13) /* device finalize */ \
- \
- macro (ompt_callback_device_load, ompt_callback_device_load_t, 14) /* device load */ \
- macro (ompt_callback_device_unload, ompt_callback_device_unload_t, 15) /* device unload */ \
- \
/* Optional Events */ \
macro (ompt_callback_sync_region_wait, ompt_callback_sync_region_t, 16) /* sync region wait begin or end */ \
\
@@ -146,8 +135,6 @@
\
macro (ompt_callback_masked, ompt_callback_masked_t, 21) /* task at masked begin or end */ \
\
- macro (ompt_callback_target_map, ompt_callback_target_map_t, 22) /* target map */ \
- \
macro (ompt_callback_sync_region, ompt_callback_sync_region_t, 23) /* sync region begin or end */ \
\
macro (ompt_callback_lock_init, ompt_callback_mutex_acquire_t, 24) /* lock init */ \
@@ -165,11 +152,50 @@
macro (ompt_callback_reduction, ompt_callback_sync_region_t, 31) /* reduction */ \
\
macro (ompt_callback_dispatch, ompt_callback_dispatch_t, 32) /* dispatch of work */ \
+ macro (ompt_callback_error, ompt_callback_error_t, 37) /* error */
+
+#define FOREACH_OMPT_DEVICE_EVENT(macro) \
+ /*--- Mandatory Events ---*/ \
+ macro (ompt_callback_device_initialize, ompt_callback_device_initialize_t, 12) /* device initialize */ \
+ macro (ompt_callback_device_finalize, ompt_callback_device_finalize_t, 13) /* device finalize */ \
+ \
+ macro (ompt_callback_device_load, ompt_callback_device_load_t, 14) /* device load */ \
+ macro (ompt_callback_device_unload, ompt_callback_device_unload_t, 15) /* device unload */
+
+#define FOREACH_OMPT_NOEMI_EVENT(macro) \
+ /*--- Mandatory Events ---*/ \
+ macro (ompt_callback_target, ompt_callback_target_t, 8) /* target */ \
+ macro (ompt_callback_target_data_op, ompt_callback_target_data_op_t, 9) /* target data op */ \
+ macro (ompt_callback_target_submit, ompt_callback_target_submit_t, 10) /* target submit */ \
+ /* Optional Events */ \
+ macro (ompt_callback_target_map, ompt_callback_target_map_t, 22) /* target map */
+
+#define FOREACH_OMPT_EMI_EVENT(macro) \
+ /*--- Mandatory Events ---*/ \
macro (ompt_callback_target_emi, ompt_callback_target_emi_t, 33) /* target */ \
macro (ompt_callback_target_data_op_emi,ompt_callback_target_data_op_emi_t,34) /* target data op */ \
macro (ompt_callback_target_submit_emi, ompt_callback_target_submit_emi_t, 35) /* target submit */ \
- macro (ompt_callback_target_map_emi, ompt_callback_target_map_emi_t, 36) /* target map */ \
- macro (ompt_callback_error, ompt_callback_error_t, 37) /* error */
+ /* Optional Events */ \
+ macro (ompt_callback_target_map_emi, ompt_callback_target_map_emi_t, 36) /* target map */
+
+#define FOREACH_OMPT_50_TARGET_EVENT(macro) \
+ FOREACH_OMPT_DEVICE_EVENT(macro) \
+ FOREACH_OMPT_NOEMI_EVENT(macro)
+
+#define FOREACH_OMPT_51_TARGET_EVENT(macro) \
+ FOREACH_OMPT_DEVICE_EVENT(macro) \
+ FOREACH_OMPT_EMI_EVENT(macro)
+
+#define FOREACH_OMPT_EVENT(macro) \
+ FOREACH_OMPT_HOST_EVENT(macro) \
+ FOREACH_OMPT_DEVICE_EVENT(macro) \
+ FOREACH_OMPT_NOEMI_EVENT(macro) \
+ FOREACH_OMPT_EMI_EVENT(macro)
+
+#define FOREACH_OMPT_51_EVENT(macro) \
+ FOREACH_OMPT_HOST_EVENT(macro) \
+ FOREACH_OMPT_DEVICE_EVENT(macro) \
+ FOREACH_OMPT_EMI_EVENT(macro)
/*****************************************************************************
* implementation specific types
@@ -267,7 +293,10 @@ typedef enum ompt_scope_endpoint_t {
typedef enum ompt_dispatch_t {
ompt_dispatch_iteration = 1,
- ompt_dispatch_section = 2
+ ompt_dispatch_section = 2,
+ ompt_dispatch_ws_loop_chunk = 3,
+ ompt_dispatch_taskloop_chunk = 4,
+ ompt_dispatch_distribute_chunk = 5
} ompt_dispatch_t;
typedef enum ompt_sync_region_t {
@@ -304,7 +333,11 @@ typedef enum ompt_work_t {
ompt_work_workshare = 5,
ompt_work_distribute = 6,
ompt_work_taskloop = 7,
- ompt_work_scope = 8
+ ompt_work_scope = 8,
+ ompt_work_loop_static = 10,
+ ompt_work_loop_dynamic = 11,
+ ompt_work_loop_guided = 12,
+ ompt_work_loop_other = 13
} ompt_work_t;
typedef enum ompt_mutex_t {
@@ -380,13 +413,15 @@ typedef enum ompt_target_map_flag_t {
} ompt_target_map_flag_t;
typedef enum ompt_dependence_type_t {
- ompt_dependence_type_in = 1,
- ompt_dependence_type_out = 2,
- ompt_dependence_type_inout = 3,
- ompt_dependence_type_mutexinoutset = 4,
- ompt_dependence_type_source = 5,
- ompt_dependence_type_sink = 6,
- ompt_dependence_type_inoutset = 7
+ ompt_dependence_type_in = 1,
+ ompt_dependence_type_out = 2,
+ ompt_dependence_type_inout = 3,
+ ompt_dependence_type_mutexinoutset = 4,
+ ompt_dependence_type_source = 5,
+ ompt_dependence_type_sink = 6,
+ ompt_dependence_type_inoutset = 7,
+ ompt_dependence_type_out_all_memory = 34,
+ ompt_dependence_type_inout_all_memory = 35
} ompt_dependence_type_t;
typedef enum ompt_severity_t {
@@ -555,6 +590,11 @@ typedef struct ompt_dependence_t {
ompt_dependence_type_t dependence_type;
} ompt_dependence_t;
+typedef struct ompt_dispatch_chunk_t {
+ uint64_t start;
+ uint64_t iterations;
+} ompt_dispatch_chunk_t;
+
typedef int (*ompt_enumerate_states_t) (
int current_state,
int *next_state,
@@ -746,7 +786,7 @@ typedef struct ompt_record_parallel_end_t {
} ompt_record_parallel_end_t;
typedef void (*ompt_callback_work_t) (
- ompt_work_t wstype,
+ ompt_work_t work_type,
ompt_scope_endpoint_t endpoint,
ompt_data_t *parallel_data,
ompt_data_t *task_data,
@@ -755,7 +795,7 @@ typedef void (*ompt_callback_work_t) (
);
typedef struct ompt_record_work_t {
- ompt_work_t wstype;
+ ompt_work_t work_type;
ompt_scope_endpoint_t endpoint;
ompt_id_t parallel_id;
ompt_id_t task_id;