diff options
author | Brad King <brad.king@kitware.com> | 2023-09-15 14:54:23 (GMT) |
---|---|---|
committer | Brad King <brad.king@kitware.com> | 2023-09-21 19:34:28 (GMT) |
commit | 0db0fe7958346ace0f5f01496e071c365faf3eb9 (patch) | |
tree | b0e9b3a1f09dfe40b689d3984b3b2aa5732afb79 /Modules/CUDA | |
parent | c16f1e2b938918c4c8c917c713d09eb6af36ce3b (diff) | |
download | CMake-0db0fe7958346ace0f5f01496e071c365faf3eb9.zip CMake-0db0fe7958346ace0f5f01496e071c365faf3eb9.tar.gz CMake-0db0fe7958346ace0f5f01496e071c365faf3eb9.tar.bz2 |
CUDA: Factor out helper to compute all CUDA architectures
Prepare to use it for other languages.
Diffstat (limited to 'Modules/CUDA')
-rw-r--r-- | Modules/CUDA/architectures.cmake | 82 |
1 files changed, 0 insertions, 82 deletions
diff --git a/Modules/CUDA/architectures.cmake b/Modules/CUDA/architectures.cmake deleted file mode 100644 index 87cbaaf..0000000 --- a/Modules/CUDA/architectures.cmake +++ /dev/null @@ -1,82 +0,0 @@ -# See supported GPUs on Wikipedia -# https://en.wikipedia.org/wiki/CUDA#GPUs_supported - -# Initial set based on CUDA 7.0. -set(CMAKE_CUDA_ARCHITECTURES_ALL 20 21 30 35 37 50 52 53) -set(CMAKE_CUDA_ARCHITECTURES_ALL_MAJOR 20 30 35 50) - -if(CMAKE_CUDA_COMPILER_TOOLKIT_VERSION VERSION_GREATER_EQUAL 8.0) - list(APPEND CMAKE_CUDA_ARCHITECTURES_ALL 60 61 62) - list(APPEND CMAKE_CUDA_ARCHITECTURES_ALL_MAJOR 60) -endif() - -if(CMAKE_CUDA_COMPILER_TOOLKIT_VERSION VERSION_GREATER_EQUAL 9.0) - if(CMAKE_CUDA_COMPILER_ID STREQUAL "NVIDIA" - OR (CMAKE_CUDA_COMPILER_ID STREQUAL "Clang" AND CMAKE_CUDA_COMPILER_VERSION VERSION_GREATER_EQUAL 6.0) - ) - list(APPEND CMAKE_CUDA_ARCHITECTURES_ALL 70 72) - list(APPEND CMAKE_CUDA_ARCHITECTURES_ALL_MAJOR 70) - endif() - - list(REMOVE_ITEM CMAKE_CUDA_ARCHITECTURES_ALL 20 21) - list(REMOVE_ITEM CMAKE_CUDA_ARCHITECTURES_ALL_MAJOR 20) -endif() - -if(CMAKE_CUDA_COMPILER_TOOLKIT_VERSION VERSION_GREATER_EQUAL 10.0) - if(CMAKE_CUDA_COMPILER_ID STREQUAL "NVIDIA" - OR (CMAKE_CUDA_COMPILER_ID STREQUAL "Clang" AND CMAKE_CUDA_COMPILER_VERSION VERSION_GREATER_EQUAL 8.0) - ) - list(APPEND CMAKE_CUDA_ARCHITECTURES_ALL 75) - endif() -endif() - -if(CMAKE_CUDA_COMPILER_TOOLKIT_VERSION VERSION_GREATER_EQUAL 11.0) - if(CMAKE_CUDA_COMPILER_ID STREQUAL "NVIDIA" - OR (CMAKE_CUDA_COMPILER_ID STREQUAL "Clang" AND CMAKE_CUDA_COMPILER_VERSION VERSION_GREATER_EQUAL 11.0) - ) - list(APPEND CMAKE_CUDA_ARCHITECTURES_ALL 80) - list(APPEND CMAKE_CUDA_ARCHITECTURES_ALL_MAJOR 80) - endif() - - list(REMOVE_ITEM CMAKE_CUDA_ARCHITECTURES_ALL 30) - list(REMOVE_ITEM CMAKE_CUDA_ARCHITECTURES_ALL_MAJOR 30) -endif() - -if(CMAKE_CUDA_COMPILER_TOOLKIT_VERSION VERSION_GREATER_EQUAL 11.1) - if(CMAKE_CUDA_COMPILER_ID STREQUAL "NVIDIA" - OR (CMAKE_CUDA_COMPILER_ID STREQUAL "Clang" AND CMAKE_CUDA_COMPILER_VERSION VERSION_GREATER_EQUAL 13.0) - ) - list(APPEND CMAKE_CUDA_ARCHITECTURES_ALL 86) - endif() -endif() - -if(CMAKE_CUDA_COMPILER_TOOLKIT_VERSION VERSION_GREATER_EQUAL 11.4) - if(CMAKE_CUDA_COMPILER_ID STREQUAL "NVIDIA") - list(APPEND CMAKE_CUDA_ARCHITECTURES_ALL 87) - endif() -endif() - -if(CMAKE_CUDA_COMPILER_TOOLKIT_VERSION VERSION_GREATER_EQUAL 11.8) - if(CMAKE_CUDA_COMPILER_ID STREQUAL "NVIDIA") - list(APPEND CMAKE_CUDA_ARCHITECTURES_ALL 89 90) - list(APPEND CMAKE_CUDA_ARCHITECTURES_ALL_MAJOR 90) - endif() -endif() - -if(CMAKE_CUDA_COMPILER_TOOLKIT_VERSION VERSION_GREATER_EQUAL 12.0) - if(CMAKE_CUDA_COMPILER_ID STREQUAL "NVIDIA") - list(REMOVE_ITEM CMAKE_CUDA_ARCHITECTURES_ALL 35 37) - list(REMOVE_ITEM CMAKE_CUDA_ARCHITECTURES_ALL_MAJOR 35) - endif() -endif() - -# only generate jit code for the newest arch for all/all-major -list(POP_BACK CMAKE_CUDA_ARCHITECTURES_ALL _latest_arch) -list(TRANSFORM CMAKE_CUDA_ARCHITECTURES_ALL APPEND "-real") -list(APPEND CMAKE_CUDA_ARCHITECTURES_ALL ${_latest_arch}) - -list(POP_BACK CMAKE_CUDA_ARCHITECTURES_ALL_MAJOR _latest_arch) -list(TRANSFORM CMAKE_CUDA_ARCHITECTURES_ALL_MAJOR APPEND "-real") -list(APPEND CMAKE_CUDA_ARCHITECTURES_ALL_MAJOR ${_latest_arch}) - -unset(_latest_arch) |