mirror of
https://github.com/capstone-engine/llvm-capstone.git
synced 2024-11-30 17:21:10 +00:00
[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:
parent
52b9a39742
commit
d1f4bfd2a8
@ -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
|
||||
|
@ -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}"
|
||||
|
||||
|
@ -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=",
|
||||
|
@ -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"
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user