[Openmp-commits] [PATCH] D140419: [OpenMP] Disable libomptarget integration on unsupported platforms

Guilherme Valarini via Phabricator via Openmp-commits openmp-commits at lists.llvm.org
Tue Dec 20 10:39:01 PST 2022


gValarini created this revision.
gValarini added reviewers: jdoerfert, jhuber6.
Herald added subscribers: guansong, yaxunl.
Herald added a project: All.
gValarini requested review of this revision.
Herald added subscribers: openmp-commits, sstefan1.
Herald added a project: OpenMP.

Repository:
  rG LLVM Github Monorepo

https://reviews.llvm.org/D140419

Files:
  openmp/runtime/src/kmp_config.h.cmake
  openmp/runtime/src/kmp_tasking.cpp


Index: openmp/runtime/src/kmp_tasking.cpp
===================================================================
--- openmp/runtime/src/kmp_tasking.cpp
+++ openmp/runtime/src/kmp_tasking.cpp
@@ -21,8 +21,10 @@
 #include "ompt-specific.h"
 #endif
 
+#if ENABLE_LIBOMPTARGET
 // Declaration of synchronization function from libomptarget.
 extern "C" void __tgt_target_nowait_query(void **) KMP_WEAK_ATTRIBUTE_INTERNAL;
+#endif
 
 /* forward declaration */
 static void __kmp_enable_tasking(kmp_task_team_t *task_team,
@@ -1798,12 +1800,15 @@
     KMP_FSYNC_ACQUIRED(taskdata); // acquired self (new task)
 #endif
 
+#if ENABLE_LIBOMPTARGET
     if (taskdata->td_target_data.async_handle != NULL) {
       // 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);
-    } else if (task->routine != NULL) {
+    } else
+#endif
+    if (task->routine != NULL) {
 #ifdef KMP_GOMP_COMPAT
       if (taskdata->td_flags.native) {
         ((void (*)(void *))(*(task->routine)))(task->shareds);
Index: openmp/runtime/src/kmp_config.h.cmake
===================================================================
--- openmp/runtime/src/kmp_config.h.cmake
+++ openmp/runtime/src/kmp_config.h.cmake
@@ -94,6 +94,8 @@
 #define KMP_HAVE_POSIX_MEMALIGN LIBOMP_HAVE_POSIX_MEMALIGN
 #cmakedefine01 LIBOMP_HAVE__ALIGNED_MALLOC
 #define KMP_HAVE__ALIGNED_MALLOC LIBOMP_HAVE__ALIGNED_MALLOC
+#cmakedefine01 OPENMP_ENABLE_LIBOMPTARGET
+#define ENABLE_LIBOMPTARGET OPENMP_ENABLE_LIBOMPTARGET
 
 // Configured cache line based on architecture
 #if KMP_ARCH_PPC64


-------------- next part --------------
A non-text attachment was scrubbed...
Name: D140419.484319.patch
Type: text/x-patch
Size: 1751 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/openmp-commits/attachments/20221220/e8356913/attachment.bin>


More information about the Openmp-commits mailing list