summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--openmp/README.rst7
-rw-r--r--openmp/runtime/CMakeLists.txt13
-rw-r--r--openmp/runtime/cmake/config-ix.cmake10
3 files changed, 23 insertions, 7 deletions
diff --git a/openmp/README.rst b/openmp/README.rst
index 78a5082ebf1..01d68b69548 100644
--- a/openmp/README.rst
+++ b/openmp/README.rst
@@ -191,8 +191,11 @@ Optional Features
Align certain data structures on 4096-byte. This option is useful on
multi-node systems where a small ``CACHE_LINE`` setting leads to false sharing.
-**LIBOMP_OMPT_SUPPORT** = ``OFF|ON``
- Include support for the OpenMP Tools Interface (OMPT).
+**LIBOMP_OMPT_SUPPORT** = ``ON|OFF``
+ Include support for the OpenMP Tools Interface (OMPT).
+ This option is supported and ``ON`` by default for x86, x86_64, AArch64, and
+ PPC64 on Linux, Windows, and mac OS.
+ This option is ``OFF`` if this feature is not supported for the platform.
**LIBOMP_OMPT_OPTIONAL** = ``ON|OFF``
Include support for optional OMPT functionality. This option is ignored if
diff --git a/openmp/runtime/CMakeLists.txt b/openmp/runtime/CMakeLists.txt
index 4a659b906ff..d17d95e3f29 100644
--- a/openmp/runtime/CMakeLists.txt
+++ b/openmp/runtime/CMakeLists.txt
@@ -299,12 +299,17 @@ if(LIBOMP_USE_VERSION_SYMBOLS AND (NOT LIBOMP_ENABLE_SHARED) )
set (LIBOMP_USE_VERSION_SYMBOLS FALSE)
endif()
-# OMPT-support
+# OMPT-support defaults to ON for OpenMP 5.0+ and if the requirements in
+# cmake/config-ix.cmake are fulfilled.
+set(OMPT_DEFAULT FALSE)
+if ((${LIBOMP_OMP_VERSION} GREATER 49) AND (LIBOMP_HAVE_OMPT_SUPPORT))
+ set(OMPT_DEFAULT TRUE)
+endif()
+set(LIBOMP_OMPT_SUPPORT ${OMPT_DEFAULT} CACHE BOOL
+ "OMPT-support?")
+
set(LIBOMP_OMPT_DEBUG FALSE CACHE BOOL
"Trace OMPT initialization?")
-#after testing: turn on ompt support by default for OpenMP 5.0 and higher
-set(LIBOMP_OMPT_SUPPORT FALSE CACHE BOOL
- "OMPT-support?")
set(LIBOMP_OMPT_OPTIONAL TRUE CACHE BOOL
"OMPT-optional?")
if(LIBOMP_OMPT_SUPPORT AND (NOT LIBOMP_HAVE_OMPT_SUPPORT))
diff --git a/openmp/runtime/cmake/config-ix.cmake b/openmp/runtime/cmake/config-ix.cmake
index a69585b5b8a..a20b18d477d 100644
--- a/openmp/runtime/cmake/config-ix.cmake
+++ b/openmp/runtime/cmake/config-ix.cmake
@@ -236,7 +236,15 @@ endif()
if(NOT LIBOMP_HAVE___BUILTIN_FRAME_ADDRESS)
set(LIBOMP_HAVE_OMPT_SUPPORT FALSE)
else()
- if((WIN32 AND LIBOMP_HAVE_PSAPI) OR APPLE OR (NOT WIN32 AND LIBOMP_HAVE_WEAK_ATTRIBUTE))
+ if( # hardware architecture supported?
+ ((LIBOMP_ARCH STREQUAL x86_64) OR
+ (LIBOMP_ARCH STREQUAL i386) OR
+# (LIBOMP_ARCH STREQUAL arm) OR
+ (LIBOMP_ARCH STREQUAL aarch64) OR
+ (LIBOMP_ARCH STREQUAL ppc64le) OR
+ (LIBOMP_ARCH STREQUAL ppc64))
+ AND # OS supported?
+ ((WIN32 AND LIBOMP_HAVE_PSAPI) OR APPLE OR (NOT WIN32 AND LIBOMP_HAVE_WEAK_ATTRIBUTE)))
set(LIBOMP_HAVE_OMPT_SUPPORT TRUE)
else()
set(LIBOMP_HAVE_OMPT_SUPPORT FALSE)
OpenPOWER on IntegriCloud