Author: Joseph Huber Date: 2023-01-13T16:52:07-06:00 New Revision: d1f4bfd2a8b0b347aeaf6d486e4132af65b9ccf0
URL: https://github.com/llvm/llvm-project/commit/d1f4bfd2a8b0b347aeaf6d486e4132af65b9ccf0 DIFF: https://github.com/llvm/llvm-project/commit/d1f4bfd2a8b0b347aeaf6d486e4132af65b9ccf0.diff LOG: [Clang] Remove `CLANG_OPENMP_NVPTX_DEFAULT_ARCH` CMake option. The `CLANG_OPENMP_NVPTX_DEFAULT_ARCH` is a static build configuration to set the default OpenMP value. This was replaced in D141708 with the use of the `nvptx-arch` tool which lets us query this at runtime instead. This makes the behaviour between AMD and NVIDIA be more consisten and allows users to have a default architecture that does not rely on whoever configured the LLVM build. Depends on D141708 Reviewed By: tra, MaskRay Differential Revision: https://reviews.llvm.org/D141723 Added: Modified: clang/CMakeLists.txt clang/include/clang/Config/config.h.cmake llvm/utils/gn/secondary/clang/include/clang/Config/BUILD.gn utils/bazel/llvm-project-overlay/clang/include/clang/Config/config.h Removed: ################################################################################ diff --git a/clang/CMakeLists.txt b/clang/CMakeLists.txt index 03c88143dd453..090cfa3520789 100644 --- a/clang/CMakeLists.txt +++ b/clang/CMakeLists.txt @@ -245,31 +245,6 @@ set(CLANG_DEFAULT_OBJCOPY "objcopy" CACHE STRING set(CLANG_DEFAULT_OPENMP_RUNTIME "libomp" CACHE STRING "Default OpenMP runtime used by -fopenmp.") -# OpenMP offloading requires at least sm_35 because we use shuffle instructions -# to generate efficient code for reductions and the atomicMax instruction on -# 64-bit integers in the implementation of conditional lastprivate. -set(CUDA_ARCH_FLAGS "sm_35") - -# Try to find the highest Nvidia GPU architecture the system supports -if (NOT DEFINED CLANG_OPENMP_NVPTX_DEFAULT_ARCH) - find_package(CUDA QUIET) - if (CUDA_FOUND) - cuda_select_nvcc_arch_flags(CUDA_ARCH_FLAGS) - endif() -else() - set(CUDA_ARCH_FLAGS ${CLANG_OPENMP_NVPTX_DEFAULT_ARCH}) -endif() - -string(REGEX MATCH "sm_([0-9]+)" CUDA_ARCH_MATCH ${CUDA_ARCH_FLAGS}) -if (NOT DEFINED CUDA_ARCH_MATCH OR "${CMAKE_MATCH_1}" LESS 35) - set(CLANG_OPENMP_NVPTX_DEFAULT_ARCH "sm_35" CACHE STRING - "Default architecture for OpenMP offloading to Nvidia GPUs." FORCE) - message(WARNING "Resetting default architecture for OpenMP offloading to Nvidia GPUs to sm_35") -else() - set(CLANG_OPENMP_NVPTX_DEFAULT_ARCH ${CUDA_ARCH_MATCH} CACHE STRING - "Default architecture for OpenMP offloading to Nvidia GPUs.") -endif() - set(CLANG_SYSTEMZ_DEFAULT_ARCH "z10" CACHE STRING "SystemZ Default Arch") set(CLANG_VENDOR ${PACKAGE_VENDOR} CACHE STRING diff --git a/clang/include/clang/Config/config.h.cmake b/clang/include/clang/Config/config.h.cmake index 1069e7261278a..a54a26cd32ffe 100644 --- a/clang/include/clang/Config/config.h.cmake +++ b/clang/include/clang/Config/config.h.cmake @@ -29,9 +29,6 @@ /* Default OpenMP runtime used by -fopenmp. */ #define CLANG_DEFAULT_OPENMP_RUNTIME "${CLANG_DEFAULT_OPENMP_RUNTIME}" -/* Default architecture for OpenMP offloading to Nvidia GPUs. */ -#define CLANG_OPENMP_NVPTX_DEFAULT_ARCH "${CLANG_OPENMP_NVPTX_DEFAULT_ARCH}" - /* Default architecture for SystemZ. */ #define CLANG_SYSTEMZ_DEFAULT_ARCH "${CLANG_SYSTEMZ_DEFAULT_ARCH}" diff --git a/llvm/utils/gn/secondary/clang/include/clang/Config/BUILD.gn b/llvm/utils/gn/secondary/clang/include/clang/Config/BUILD.gn index e5704b6a65406..808010deef046 100644 --- a/llvm/utils/gn/secondary/clang/include/clang/Config/BUILD.gn +++ b/llvm/utils/gn/secondary/clang/include/clang/Config/BUILD.gn @@ -17,7 +17,6 @@ write_cmake_config("Config") { "CLANG_DEFAULT_OPENMP_RUNTIME=libomp", "CLANG_DEFAULT_UNWINDLIB=", "CLANG_INSTALL_LIBDIR_BASENAME=lib", - "CLANG_OPENMP_NVPTX_DEFAULT_ARCH=sm_35", "CLANG_RESOURCE_DIR=", "C_INCLUDE_DIRS=", "CLANG_CONFIG_FILE_SYSTEM_DIR=", diff --git a/utils/bazel/llvm-project-overlay/clang/include/clang/Config/config.h b/utils/bazel/llvm-project-overlay/clang/include/clang/Config/config.h index 3bd0a63059895..88ace233b5418 100644 --- a/utils/bazel/llvm-project-overlay/clang/include/clang/Config/config.h +++ b/utils/bazel/llvm-project-overlay/clang/include/clang/Config/config.h @@ -43,9 +43,6 @@ /* Default OpenMP runtime used by -fopenmp. */ #define CLANG_DEFAULT_OPENMP_RUNTIME "libomp" -/* Default architecture for OpenMP offloading to Nvidia GPUs. */ -#define CLANG_OPENMP_NVPTX_DEFAULT_ARCH "sm_35" - /* Default architecture for SystemZ. */ #define CLANG_SYSTEMZ_DEFAULT_ARCH "z10" _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits