diff options
-rw-r--r-- | openmp/README.rst | 7 | ||||
-rw-r--r-- | openmp/runtime/CMakeLists.txt | 13 | ||||
-rw-r--r-- | openmp/runtime/cmake/config-ix.cmake | 10 |
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) |