Skip to content

Commit 52da6f5

Browse files
committed
Revert "[openmp] Add OMPT initialization in libomptarget"
Reverting initial OMPT for target implementation in favor of a different implementation. This reverts commit 3bc8ce5.
1 parent e7f1232 commit 52da6f5

File tree

11 files changed

+19
-289
lines changed

11 files changed

+19
-289
lines changed

openmp/libomptarget/CMakeLists.txt

Lines changed: 0 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -50,19 +50,6 @@ set (LIBOMPTARGET_ALL_TARGETS "${LIBOMPTARGET_ALL_TARGETS} nvptx64-nvidia-cuda-n
5050
set (LIBOMPTARGET_SYSTEM_TARGETS "")
5151
set (LIBOMPTARGET_TESTED_PLUGINS "")
5252

53-
# Check OMPT support
54-
set(OMPT_DEFAULT_IN_LIBOMPTARGET FALSE)
55-
if ((LIBOMP_HAVE_OMPT_SUPPORT) AND (NOT WIN32))
56-
set(OMPT_DEFAULT_IN_LIBOMPTARGET TRUE)
57-
endif()
58-
set(LIBOMP_OMPT_SUPPORT_IN_LIBOMPTARGET ${OMPT_DEFAULT_IN_LIBOMPTARGET} CACHE BOOL
59-
"OMPT-support in libomptarget?")
60-
if(LIBOMP_OMPT_SUPPORT_IN_LIBOMPTARGET)
61-
message(STATUS "OMPT enabled in libomptarget")
62-
else()
63-
message(STATUS "OMPT disabled in libomptarget")
64-
endif()
65-
6653
# Check whether using debug mode. In debug mode, allow dumping progress
6754
# messages at runtime by default. Otherwise, it can be enabled
6855
# independently using the LIBOMPTARGET_ENABLE_DEBUG option.

openmp/libomptarget/src/CMakeLists.txt

Lines changed: 1 addition & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -20,12 +20,8 @@ set(LIBOMPTARGET_SRC_FILES
2020
${CMAKE_CURRENT_SOURCE_DIR}/omptarget.cpp
2121
)
2222

23-
if(LIBOMP_OMPT_SUPPORT_IN_LIBOMPTARGET)
24-
list(APPEND LIBOMPTARGET_SRC_FILES ${CMAKE_CURRENT_SOURCE_DIR}/ompt-target.cpp)
25-
list(APPEND LIBOMPTARGET_LLVM_INCLUDE_DIRS ${LIBOMP_INCLUDE_DIR})
26-
endif()
27-
2823
set(LIBOMPTARGET_SRC_FILES ${LIBOMPTARGET_SRC_FILES} PARENT_SCOPE)
24+
2925
include_directories(${LIBOMPTARGET_LLVM_INCLUDE_DIRS})
3026

3127
# Build libomptarget library with libdl dependency.

openmp/libomptarget/src/ompt-target.cpp

Lines changed: 0 additions & 3 deletions
This file was deleted.

openmp/libomptarget/src/ompt-target.h

Lines changed: 0 additions & 29 deletions
This file was deleted.

openmp/libomptarget/src/rtl.cpp

Lines changed: 0 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -14,10 +14,6 @@
1414
#include "device.h"
1515
#include "private.h"
1616

17-
#if OMPT_SUPPORT
18-
#include "ompt-target.h"
19-
#endif
20-
2117
#include <cassert>
2218
#include <cstdlib>
2319
#include <cstring>
@@ -193,19 +189,6 @@ void RTLsTy::LoadRTLs() {
193189
dlsym(dynlib_handle, "__tgt_rtl_destroy_event");
194190
}
195191

196-
#if OMPT_SUPPORT
197-
DP("OMPT_SUPPORT is enabled in libomptarget\n");
198-
DP("Init OMPT for libomptarget\n");
199-
if (libomp_start_tool) {
200-
DP("Retrieve libomp_start_tool successfully\n");
201-
if (!libomp_start_tool(&ompt_target_enabled)) {
202-
DP("Turn off OMPT in libomptarget because libomp_start_tool returns "
203-
"false\n");
204-
memset(&ompt_target_enabled, 0, sizeof(ompt_target_enabled));
205-
}
206-
}
207-
#endif
208-
209192
DP("RTLs loaded!\n");
210193

211194
return;

openmp/runtime/cmake/config-ix.cmake

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -329,7 +329,6 @@ else()
329329
set(LIBOMP_HAVE_OMPT_SUPPORT FALSE)
330330
endif()
331331
endif()
332-
set(LIBOMP_HAVE_OMPT_SUPPORT ${LIBOMP_HAVE_OMPT_SUPPORT} PARENT_SCOPE)
333332

334333
# Check if HWLOC support is available
335334
if(${LIBOMP_USE_HWLOC})

openmp/runtime/src/exports_so.txt

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -25,9 +25,7 @@ VERSION {
2525
#
2626
# OMPT API
2727
#
28-
ompt_start_tool; # OMPT start interface
29-
libomp_start_tool; # OMPT start interface for libomptarget
30-
libomp_ompt_*; # OMPT callback functions
28+
ompt_start_tool; # OMPT start interface
3129

3230
ompc_*; # omp.h renames some standard functions to ompc_*.
3331
kmp_*; # Intel extensions.

openmp/runtime/src/include/omp-tools.h.var

Lines changed: 11 additions & 39 deletions
Original file line numberDiff line numberDiff line change
@@ -108,7 +108,7 @@
108108
macro (kmp_mutex_impl_queuing, 2) /* based on some fair policy */ \
109109
macro (kmp_mutex_impl_speculative, 3) /* based on HW-supported speculation */
110110

111-
#define FOREACH_OMPT_HOST_EVENT(macro) \
111+
#define FOREACH_OMPT_EVENT(macro) \
112112
\
113113
/*--- Mandatory Events ---*/ \
114114
macro (ompt_callback_thread_begin, ompt_callback_thread_begin_t, 1) /* thread begin */ \
@@ -121,9 +121,17 @@
121121
macro (ompt_callback_task_schedule, ompt_callback_task_schedule_t, 6) /* task schedule */ \
122122
macro (ompt_callback_implicit_task, ompt_callback_implicit_task_t, 7) /* implicit task */ \
123123
\
124+
macro (ompt_callback_target, ompt_callback_target_t, 8) /* target */ \
125+
macro (ompt_callback_target_data_op, ompt_callback_target_data_op_t, 9) /* target data op */ \
126+
macro (ompt_callback_target_submit, ompt_callback_target_submit_t, 10) /* target submit */ \
124127
\
125128
macro (ompt_callback_control_tool, ompt_callback_control_tool_t, 11) /* control tool */ \
126129
\
130+
macro (ompt_callback_device_initialize, ompt_callback_device_initialize_t, 12) /* device initialize */ \
131+
macro (ompt_callback_device_finalize, ompt_callback_device_finalize_t, 13) /* device finalize */ \
132+
\
133+
macro (ompt_callback_device_load, ompt_callback_device_load_t, 14) /* device load */ \
134+
macro (ompt_callback_device_unload, ompt_callback_device_unload_t, 15) /* device unload */ \
127135
\
128136
/* Optional Events */ \
129137
macro (ompt_callback_sync_region_wait, ompt_callback_sync_region_t, 16) /* sync region wait begin or end */ \
@@ -137,6 +145,7 @@
137145
\
138146
macro (ompt_callback_masked, ompt_callback_masked_t, 21) /* task at masked begin or end */ \
139147
\
148+
macro (ompt_callback_target_map, ompt_callback_target_map_t, 22) /* target map */ \
140149
\
141150
macro (ompt_callback_sync_region, ompt_callback_sync_region_t, 23) /* sync region begin or end */ \
142151
\
@@ -155,48 +164,11 @@
155164
macro (ompt_callback_reduction, ompt_callback_sync_region_t, 31) /* reduction */ \
156165
\
157166
macro (ompt_callback_dispatch, ompt_callback_dispatch_t, 32) /* dispatch of work */ \
158-
macro (ompt_callback_error, ompt_callback_error_t, 37) /* error */
159-
160-
161-
#define FOREACH_OMPT_DEVICE_EVENT(macro) \
162-
macro (ompt_callback_device_initialize, ompt_callback_device_initialize_t, 12) /* device initialize */ \
163-
macro (ompt_callback_device_finalize, ompt_callback_device_finalize_t, 13) /* device finalize */ \
164-
\
165-
macro (ompt_callback_device_load, ompt_callback_device_load_t, 14) /* device load */ \
166-
macro (ompt_callback_device_unload, ompt_callback_device_unload_t, 15) /* device unload */ \
167-
168-
169-
#define FOREACH_OMPT_NOEMI_EVENT(macro) \
170-
macro (ompt_callback_target, ompt_callback_target_t, 8) /* target */ \
171-
macro (ompt_callback_target_data_op, ompt_callback_target_data_op_t, 9) /* target data op */ \
172-
macro (ompt_callback_target_submit, ompt_callback_target_submit_t, 10) /* target submit */ \
173-
macro (ompt_callback_target_map, ompt_callback_target_map_t, 22) /* target map */ \
174-
175-
176-
#define FOREACH_OMPT_EMI_EVENT(macro) \
177167
macro (ompt_callback_target_emi, ompt_callback_target_emi_t, 33) /* target */ \
178168
macro (ompt_callback_target_data_op_emi,ompt_callback_target_data_op_emi_t,34) /* target data op */ \
179169
macro (ompt_callback_target_submit_emi, ompt_callback_target_submit_emi_t, 35) /* target submit */ \
180170
macro (ompt_callback_target_map_emi, ompt_callback_target_map_emi_t, 36) /* target map */ \
181-
182-
#define FOREACH_OMPT_50_TARGET_EVENT(macro) \
183-
FOREACH_OMPT_DEVICE_EVENT(macro) \
184-
FOREACH_OMPT_NOEMI_EVENT(macro)
185-
186-
#define FOREACH_OMPT_51_TARGET_EVENT(macro) \
187-
FOREACH_OMPT_DEVICE_EVENT(macro) \
188-
FOREACH_OMPT_EMI_EVENT(macro)
189-
190-
#define FOREACH_OMPT_EVENT(macro) \
191-
FOREACH_OMPT_HOST_EVENT(macro) \
192-
FOREACH_OMPT_DEVICE_EVENT(macro) \
193-
FOREACH_OMPT_NOEMI_EVENT(macro) \
194-
FOREACH_OMPT_EMI_EVENT(macro)
195-
196-
#define FOREACH_OMPT_51_EVENT(macro) \
197-
FOREACH_OMPT_HOST_EVENT(macro) \
198-
FOREACH_OMPT_DEVICE_EVENT(macro) \
199-
FOREACH_OMPT_EMI_EVENT(macro)
171+
macro (ompt_callback_error, ompt_callback_error_t, 37) /* error */
200172

201173
/*****************************************************************************
202174
* implementation specific types

openmp/runtime/src/ompt-event-specific.h

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -86,8 +86,8 @@
8686

8787
#define ompt_callback_masked_implemented ompt_event_MAY_ALWAYS_OPTIONAL
8888

89-
#define ompt_callback_target_map_implemented ompt_event_MAY_ALWAYS_OPTIONAL
90-
#define ompt_callback_target_map_emi_implemented ompt_event_MAY_ALWAYS_OPTIONAL
89+
#define ompt_callback_target_map_implemented ompt_event_UNIMPLEMENTED
90+
#define ompt_callback_target_map_emi_implemented ompt_event_UNIMPLEMENTED
9191

9292
#define ompt_callback_sync_region_implemented ompt_event_MAY_ALWAYS_OPTIONAL
9393

openmp/runtime/src/ompt-general.cpp

Lines changed: 2 additions & 132 deletions
Original file line numberDiff line numberDiff line change
@@ -86,8 +86,6 @@ enum tool_setting_e {
8686

8787
ompt_callbacks_active_t ompt_enabled;
8888

89-
ompt_target_callbacks_active_t ompt_target_enabled;
90-
9189
ompt_state_info_t ompt_state_info[] = {
9290
#define ompt_state_macro(state, code) {#state, state},
9391
FOREACH_OMPT_STATE(ompt_state_macro)
@@ -102,10 +100,6 @@ kmp_mutex_impl_info_t kmp_mutex_impl_info[] = {
102100

103101
ompt_callbacks_internal_t ompt_callbacks;
104102

105-
ompt_target_callbacks_internal_t ompt_target_callbacks;
106-
107-
ompt_callbacks_internal_noemi_t ompt_callbacks_noemi;
108-
109103
static ompt_start_tool_result_t *ompt_start_tool_result = NULL;
110104

111105
#if KMP_OS_WINDOWS
@@ -131,51 +125,6 @@ OMPT_API_ROUTINE ompt_data_t *ompt_get_thread_data(void);
131125
typedef ompt_start_tool_result_t *(*ompt_start_tool_t)(unsigned int,
132126
const char *);
133127

134-
_OMP_EXTERN OMPT_WEAK_ATTRIBUTE bool
135-
libomp_start_tool(ompt_target_callbacks_active_t *libomptarget_ompt_enabled) {
136-
if (!TCR_4(__kmp_init_middle)) {
137-
__kmp_middle_initialize();
138-
}
139-
bool ret = false;
140-
libomptarget_ompt_enabled->enabled = ompt_enabled.enabled;
141-
if (ompt_enabled.enabled) {
142-
ret = true;
143-
#define ompt_event_macro(event_name, callback_type, event_id) \
144-
libomptarget_ompt_enabled->event_name = ompt_target_enabled.event_name;
145-
146-
FOREACH_OMPT_51_TARGET_EVENT(ompt_event_macro)
147-
#undef ompt_event_macro
148-
}
149-
return ret;
150-
}
151-
152-
void ompt_callback_target_data_op_emi_wrapper(
153-
ompt_scope_endpoint_t endpoint, ompt_data_t *target_task_data,
154-
ompt_data_t *target_data, ompt_id_t *host_op_id,
155-
ompt_target_data_op_t optype, void *src_addr, int src_device_num,
156-
void *dest_addr, int dest_device_num, size_t bytes,
157-
const void *codeptr_ra) {}
158-
159-
void ompt_callback_target_emi_wrapper(ompt_target_t kind,
160-
ompt_scope_endpoint_t endpoint,
161-
int device_num, ompt_data_t *task_data,
162-
ompt_data_t *target_task_data,
163-
ompt_data_t *target_data,
164-
const void *codeptr_ra) {}
165-
166-
void ompt_callback_target_map_emi_wrapper(ompt_data_t *target_data,
167-
unsigned int nitems, void **host_addr,
168-
void **device_addr, size_t *bytes,
169-
unsigned int *mapping_flags,
170-
const void *codeptr_ra) {}
171-
172-
void ompt_callback_target_submit_emi_wrapper(ompt_scope_endpoint_t endpoint,
173-
ompt_data_t *target_data,
174-
ompt_id_t *host_op_id,
175-
unsigned int requested_num_teams) {
176-
177-
}
178-
179128
#if KMP_OS_DARWIN
180129

181130
// While Darwin supports weak symbols, the library that wishes to provide a new
@@ -629,37 +578,7 @@ OMPT_API_ROUTINE ompt_set_result_t ompt_set_callback(ompt_callbacks_t which,
629578
else \
630579
return ompt_set_always;
631580

632-
FOREACH_OMPT_HOST_EVENT(ompt_event_macro)
633-
634-
#undef ompt_event_macro
635-
636-
#define ompt_event_macro(event_name, callback_type, event_id) \
637-
case event_name: \
638-
ompt_target_callbacks.ompt_callback(event_name) = (callback_type)callback; \
639-
ompt_target_enabled.event_name = (callback != 0); \
640-
if (callback) \
641-
return ompt_event_implementation_status(event_name); \
642-
else \
643-
return ompt_set_always;
644-
645-
FOREACH_OMPT_51_TARGET_EVENT(ompt_event_macro)
646-
647-
#undef ompt_event_macro
648-
649-
#define ompt_event_macro(event_name, callback_type, event_id) \
650-
case event_name: \
651-
ompt_callbacks_noemi.ompt_callback(event_name) = (callback_type)callback; \
652-
ompt_target_enabled.ompt_emi_event(event_name) = (callback != 0); \
653-
if (callback) { \
654-
ompt_target_callbacks.ompt_emi_callback(event_name) = \
655-
(ompt_emi_callback_type(event_name))(&ompt_emi_wrapper(event_name)); \
656-
return ompt_event_implementation_status(event_name); \
657-
} else { \
658-
ompt_target_callbacks.ompt_emi_callback(event_name) = NULL; \
659-
return ompt_set_always; \
660-
}
661-
662-
FOREACH_OMPT_NOEMI_EVENT(ompt_event_macro)
581+
FOREACH_OMPT_EVENT(ompt_event_macro)
663582

664583
#undef ompt_event_macro
665584

@@ -686,56 +605,7 @@ OMPT_API_ROUTINE int ompt_get_callback(ompt_callbacks_t which,
686605
return ompt_get_callback_failure; \
687606
}
688607

689-
FOREACH_OMPT_HOST_EVENT(ompt_event_macro)
690-
691-
#undef ompt_event_macro
692-
693-
#define ompt_event_macro(event_name, callback_type, event_id) \
694-
case event_name: { \
695-
ompt_callback_t mycb = \
696-
(ompt_callback_t)ompt_target_callbacks.ompt_callback(event_name); \
697-
if (ompt_target_enabled.event_name && mycb) { \
698-
*callback = mycb; \
699-
return ompt_get_callback_success; \
700-
} \
701-
return ompt_get_callback_failure; \
702-
}
703-
704-
FOREACH_OMPT_DEVICE_EVENT(ompt_event_macro)
705-
706-
#undef ompt_event_macro
707-
708-
#define ompt_event_macro(event_name, callback_type, event_id) \
709-
case ompt_emi_event(event_name): { \
710-
ompt_callback_t mycb = \
711-
(ompt_callback_t)ompt_target_callbacks.ompt_emi_callback(event_name); \
712-
if (ompt_target_enabled.ompt_emi_event(event_name) && \
713-
mycb != (ompt_callback_t)(&ompt_emi_wrapper(event_name))) { \
714-
*callback = mycb; \
715-
return ompt_get_callback_success; \
716-
} \
717-
return ompt_get_callback_failure; \
718-
}
719-
720-
FOREACH_OMPT_NOEMI_EVENT(ompt_event_macro)
721-
722-
#undef ompt_event_macro
723-
724-
#define ompt_event_macro(event_name, callback_type, event_id) \
725-
case event_name: { \
726-
ompt_callback_t mycb = \
727-
(ompt_callback_t)ompt_callbacks_noemi.ompt_callback(event_name); \
728-
ompt_callback_t wrapper = \
729-
(ompt_callback_t)ompt_target_callbacks.ompt_emi_callback(event_name); \
730-
if (ompt_target_enabled.ompt_emi_event(event_name) && \
731-
wrapper == (ompt_callback_t)(&ompt_emi_wrapper(event_name))) { \
732-
*callback = mycb; \
733-
return ompt_get_callback_success; \
734-
} \
735-
return ompt_get_callback_failure; \
736-
}
737-
738-
FOREACH_OMPT_NOEMI_EVENT(ompt_event_macro)
608+
FOREACH_OMPT_EVENT(ompt_event_macro)
739609

740610
#undef ompt_event_macro
741611

0 commit comments

Comments
 (0)