[Openmp-commits] [openmp] 284e54d - Revert "[OpenMP] Handle function calls from `libomp` to `libomptarget` correctly"
Shilei Tian via Openmp-commits
openmp-commits at lists.llvm.org
Mon May 1 15:22:58 PDT 2023
Author: Shilei Tian
Date: 2023-05-01T18:22:23-04:00
New Revision: 284e54d74c149e5c936c829f19c4f93a70456fde
URL: https://github.com/llvm/llvm-project/commit/284e54d74c149e5c936c829f19c4f93a70456fde
DIFF: https://github.com/llvm/llvm-project/commit/284e54d74c149e5c936c829f19c4f93a70456fde.diff
LOG: Revert "[OpenMP] Handle function calls from `libomp` to `libomptarget` correctly"
This reverts commit 479e335fc37c06767654141358ea076ac066de11.
The assertion at `kmp_tasking.cpp(29)` is triggered.
Added:
Modified:
openmp/runtime/src/kmp.h
openmp/runtime/src/kmp_runtime.cpp
openmp/runtime/src/kmp_tasking.cpp
Removed:
################################################################################
diff --git a/openmp/runtime/src/kmp.h b/openmp/runtime/src/kmp.h
index bd50d58f0fdcb..43e723fa7387b 100644
--- a/openmp/runtime/src/kmp.h
+++ b/openmp/runtime/src/kmp.h
@@ -1100,12 +1100,6 @@ extern void __kmp_init_target_mem();
/* ------------------------------------------------------------------------ */
-#if ENABLE_LIBOMPTARGET
-extern void __kmp_init_target_task();
-#endif
-
-/* ------------------------------------------------------------------------ */
-
#define KMP_UINT64_MAX \
(~((kmp_uint64)1 << ((sizeof(kmp_uint64) * (1 << 3)) - 1)))
diff --git a/openmp/runtime/src/kmp_runtime.cpp b/openmp/runtime/src/kmp_runtime.cpp
index a0a72f163e7c5..776160289981b 100644
--- a/openmp/runtime/src/kmp_runtime.cpp
+++ b/openmp/runtime/src/kmp_runtime.cpp
@@ -553,14 +553,6 @@ static void __kmp_fini_allocator() { __kmp_fini_memkind(); }
/* ------------------------------------------------------------------------ */
-#if ENABLE_LIBOMPTARGET
-static void __kmp_init_omptarget() {
- __kmp_init_target_task();
-}
-#endif
-
-/* ------------------------------------------------------------------------ */
-
#if KMP_DYNAMIC_LIB
#if KMP_OS_WINDOWS
@@ -7049,11 +7041,6 @@ static void __kmp_do_serial_initialize(void) {
__kmp_validate_locks();
-#if ENABLE_LIBOMPTARGET
- /* Initialize functions from libomptarget */
- __kmp_init_omptarget();
-#endif
-
/* Initialize internal memory allocator */
__kmp_init_allocator();
diff --git a/openmp/runtime/src/kmp_tasking.cpp b/openmp/runtime/src/kmp_tasking.cpp
index f441b0e9ef673..71922ed708001 100644
--- a/openmp/runtime/src/kmp_tasking.cpp
+++ b/openmp/runtime/src/kmp_tasking.cpp
@@ -22,12 +22,8 @@
#endif
#if ENABLE_LIBOMPTARGET
-static void (*tgt_target_nowait_query)(void **);
-
-void __kmp_init_target_task() {
- *(void **)(&tgt_target_nowait_query) = KMP_DLSYM("__tgt_target_nowait_query");
- KMP_ASSERT(tgt_target_nowait_query);
-}
+// Declaration of synchronization function from libomptarget.
+extern "C" void __tgt_target_nowait_query(void **) KMP_WEAK_ATTRIBUTE_INTERNAL;
#endif
/* forward declaration */
@@ -1809,7 +1805,7 @@ static void __kmp_invoke_task(kmp_int32 gtid, kmp_task_t *task,
// If we have a valid target async handle, that means that we have already
// executed the task routine once. We must query for the handle completion
// instead of re-executing the routine.
- tgt_target_nowait_query(&taskdata->td_target_data.async_handle);
+ __tgt_target_nowait_query(&taskdata->td_target_data.async_handle);
} else
#endif
if (task->routine != NULL) {
More information about the Openmp-commits
mailing list