summaryrefslogtreecommitdiffstats
path: root/Modules
diff options
context:
space:
mode:
authorBrad King <brad.king@kitware.com>2023-09-15 14:39:16 (GMT)
committerBrad King <brad.king@kitware.com>2023-09-21 19:34:27 (GMT)
commitd08b7f3cdab24a21b3da3c43b6d0d9f256f76f77 (patch)
tree4eb136c3490c9c15bf6758a5071a09d4bc46eca3 /Modules
parent7b2aec0fefe09b96583f8efc3f3df37a6caf15ce (diff)
downloadCMake-d08b7f3cdab24a21b3da3c43b6d0d9f256f76f77.zip
CMake-d08b7f3cdab24a21b3da3c43b6d0d9f256f76f77.tar.gz
CMake-d08b7f3cdab24a21b3da3c43b6d0d9f256f76f77.tar.bz2
CUDA: Clarify compiler-specific logic in architectures table
Diffstat (limited to 'Modules')
-rw-r--r--Modules/CUDA/architectures.cmake51
1 files changed, 32 insertions, 19 deletions
diff --git a/Modules/CUDA/architectures.cmake b/Modules/CUDA/architectures.cmake
index 7d6a6e0..87cbaaf 100644
--- a/Modules/CUDA/architectures.cmake
+++ b/Modules/CUDA/architectures.cmake
@@ -11,7 +11,9 @@ if(CMAKE_CUDA_COMPILER_TOOLKIT_VERSION VERSION_GREATER_EQUAL 8.0)
endif()
if(CMAKE_CUDA_COMPILER_TOOLKIT_VERSION VERSION_GREATER_EQUAL 9.0)
- if(NOT CMAKE_CUDA_COMPILER_ID STREQUAL "Clang" OR CMAKE_CUDA_COMPILER_VERSION VERSION_GREATER_EQUAL 6.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()
@@ -20,13 +22,18 @@ if(CMAKE_CUDA_COMPILER_TOOLKIT_VERSION VERSION_GREATER_EQUAL 9.0)
list(REMOVE_ITEM CMAKE_CUDA_ARCHITECTURES_ALL_MAJOR 20)
endif()
-if(CMAKE_CUDA_COMPILER_TOOLKIT_VERSION VERSION_GREATER_EQUAL 10.0
- AND (NOT CMAKE_CUDA_COMPILER_ID STREQUAL "Clang" OR CMAKE_CUDA_COMPILER_VERSION VERSION_GREATER_EQUAL 8.0))
- list(APPEND CMAKE_CUDA_ARCHITECTURES_ALL 75)
+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(NOT CMAKE_CUDA_COMPILER_ID STREQUAL "Clang" OR CMAKE_CUDA_COMPILER_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()
@@ -35,26 +42,32 @@ if(CMAKE_CUDA_COMPILER_TOOLKIT_VERSION VERSION_GREATER_EQUAL 11.0)
list(REMOVE_ITEM CMAKE_CUDA_ARCHITECTURES_ALL_MAJOR 30)
endif()
-if(CMAKE_CUDA_COMPILER_TOOLKIT_VERSION VERSION_GREATER_EQUAL 11.1
- AND (NOT CMAKE_CUDA_COMPILER_ID STREQUAL "Clang" OR CMAKE_CUDA_COMPILER_VERSION VERSION_GREATER_EQUAL 13.0))
- list(APPEND CMAKE_CUDA_ARCHITECTURES_ALL 86)
+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
- AND (NOT CMAKE_CUDA_COMPILER_ID STREQUAL "Clang"))
- list(APPEND CMAKE_CUDA_ARCHITECTURES_ALL 87)
+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
- AND (NOT CMAKE_CUDA_COMPILER_ID STREQUAL "Clang"))
- list(APPEND CMAKE_CUDA_ARCHITECTURES_ALL 89 90)
- list(APPEND CMAKE_CUDA_ARCHITECTURES_ALL_MAJOR 90)
+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
- AND (NOT CMAKE_CUDA_COMPILER_ID STREQUAL "Clang"))
- list(REMOVE_ITEM CMAKE_CUDA_ARCHITECTURES_ALL 35 37)
- list(REMOVE_ITEM CMAKE_CUDA_ARCHITECTURES_ALL_MAJOR 35)
+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