Merge topic 'clang-cuda-archs'

33fb4e1a50 CUDA/Clang: Add archs supported by Clang 21
a6aaabbdff CUDA/Clang: Reorder the logic for setting supported archs
695af87c6f CUDA/Clang: Fix list of architectures supported by Clang < 20.1

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !10848
This commit is contained in:
Brad King
2025-06-03 11:53:45 +00:00
committed by Kitware Robot

View File

@@ -71,25 +71,26 @@ function(cmake_cuda_architectures_all lang lang_var_)
endif()
endif()
if(${lang_var_}TOOLKIT_VERSION VERSION_GREATER_EQUAL 12.9)
if(${lang_var_}TOOLKIT_VERSION VERSION_GREATER_EQUAL 12.0)
list(REMOVE_ITEM CMAKE_CUDA_ARCHITECTURES_ALL 35 37)
list(REMOVE_ITEM CMAKE_CUDA_ARCHITECTURES_ALL_MAJOR 35)
endif()
if(${lang_var_}TOOLKIT_VERSION VERSION_GREATER_EQUAL 12.8)
if(CMAKE_${lang}_COMPILER_ID STREQUAL "NVIDIA"
OR (CMAKE_${lang}_COMPILER_ID STREQUAL "Clang" AND CMAKE_${lang}_COMPILER_VERSION VERSION_GREATER_EQUAL 16.0)
)
list(APPEND CMAKE_CUDA_ARCHITECTURES_ALL 100 101 103 120 121)
list(APPEND CMAKE_CUDA_ARCHITECTURES_ALL_MAJOR 100 120)
endif()
elseif(${lang_var_}TOOLKIT_VERSION VERSION_GREATER_EQUAL 12.8)
if(CMAKE_${lang}_COMPILER_ID STREQUAL "NVIDIA"
OR (CMAKE_${lang}_COMPILER_ID STREQUAL "Clang" AND CMAKE_${lang}_COMPILER_VERSION VERSION_GREATER_EQUAL 16.0)
OR (CMAKE_${lang}_COMPILER_ID STREQUAL "Clang" AND CMAKE_${lang}_COMPILER_VERSION VERSION_GREATER_EQUAL 20.1)
)
list(APPEND CMAKE_CUDA_ARCHITECTURES_ALL 100 101 120)
list(APPEND CMAKE_CUDA_ARCHITECTURES_ALL_MAJOR 100 120)
endif()
endif()
if(${lang_var_}TOOLKIT_VERSION VERSION_GREATER_EQUAL 12.0)
list(REMOVE_ITEM CMAKE_CUDA_ARCHITECTURES_ALL 35 37)
list(REMOVE_ITEM CMAKE_CUDA_ARCHITECTURES_ALL_MAJOR 35)
if(${lang_var_}TOOLKIT_VERSION VERSION_GREATER_EQUAL 12.9)
if(CMAKE_${lang}_COMPILER_ID STREQUAL "NVIDIA"
OR (CMAKE_${lang}_COMPILER_ID STREQUAL "Clang" AND CMAKE_${lang}_COMPILER_VERSION VERSION_GREATER_EQUAL 21.1)
)
list(APPEND CMAKE_CUDA_ARCHITECTURES_ALL 103 121)
endif()
endif()
# only generate jit code for the newest arch for all/all-major