From 695af87c6fc2a33322fb58ca4252fc3c8571d33b Mon Sep 17 00:00:00 2001 From: Andrey Alekseenko Date: Sun, 1 Jun 2025 00:03:08 +0200 Subject: [PATCH] CUDA/Clang: Fix list of architectures supported by Clang < 20.1 Clang before 20.1 does not recognize sm_100 and newer. Revise: * commit b2251e0deb (CUDA/Clang: Update architectures supported by CUDA 12.8, 2025-02-04, v4.0.2~4^2~1^2) * commit a1b4c30f24 (CUDA: Add CUDA 12.9 new architectures and family syntax, 2025-04-21, v4.0.2~3^2^2) --- Modules/Internal/CMakeCUDAArchitecturesAll.cmake | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/Modules/Internal/CMakeCUDAArchitecturesAll.cmake b/Modules/Internal/CMakeCUDAArchitecturesAll.cmake index 97f0c0c906..5b396eeb2c 100644 --- a/Modules/Internal/CMakeCUDAArchitecturesAll.cmake +++ b/Modules/Internal/CMakeCUDAArchitecturesAll.cmake @@ -72,15 +72,16 @@ function(cmake_cuda_architectures_all lang lang_var_) endif() 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 16.0) - ) + if(CMAKE_${lang}_COMPILER_ID STREQUAL "NVIDIA") list(APPEND CMAKE_CUDA_ARCHITECTURES_ALL 100 101 103 120 121) list(APPEND CMAKE_CUDA_ARCHITECTURES_ALL_MAJOR 100 120) + elseif(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() 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)