[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
This commit is contained in:
Joseph Huber 2023-01-13 14:57:34 -06:00
parent 52b9a39742
commit d1f4bfd2a8
4 changed files with 0 additions and 32 deletions

View File

@ -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

View File

@ -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}"

View File

@ -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=",

View File

@ -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"