@@ -109,7 +109,7 @@ if(BUILD_CUDA)
109109 endif ()
110110
111111 # For CMake < 3.23.0: manually determine supported CUDA architectures
112- if (CMAKE_VERSION VERSION_LESS "3.23.0" )
112+ if (CMAKE_VERSION VERSION_GREATER_EQUAL "3.23.0" )
113113 message (STATUS "CMake < 3.23.0; determining CUDA architectures supported..." )
114114
115115 # Base (CUDA 11.4+)
@@ -161,27 +161,6 @@ if(BUILD_CUDA)
161161 string (APPEND CMAKE_CUDA_FLAGS " -Xptxas=-v" )
162162 endif ()
163163
164- foreach (capability ${CMAKE_CUDA_ARCHITECTURES_ALL} )
165- # Most of the items here are like: `xx-real`, so we just extract the `xx` portion
166- string (REGEX MATCH "[0-9]+" capability_id "${capability} " )
167- if (capability_id GREATER 0)
168- list (APPEND POSSIBLE_CAPABILITIES ${capability_id} )
169- endif ()
170- endforeach ()
171-
172- # CUDA 13+: drop <=80 and add new SMs
173- if (CMAKE_CUDA_COMPILER_VERSION VERSION_GREATER_EQUAL "13.0" )
174- list (APPEND CMAKE_CUDA_ARCHITECTURES_ALL 103 110 121)
175- list (REMOVE_ITEM CMAKE_CUDA_ARCHITECTURES_ALL 50 52 53 60 61 62 70 72 75)
176- list (REMOVE_ITEM CMAKE_CUDA_ARCHITECTURES_ALL_MAJOR 50 60 70)
177- list (APPEND CMAKE_CUDA_ARCHITECTURES_ALL_MAJOR 80 90 100 120)
178- endif ()
179-
180- list (REMOVE_DUPLICATES CMAKE_CUDA_ARCHITECTURES_ALL)
181- list (REMOVE_DUPLICATES CMAKE_CUDA_ARCHITECTURES_ALL_MAJOR)
182- list (SORT CMAKE_CUDA_ARCHITECTURES_ALL COMPARE NATURAL )
183- list (SORT CMAKE_CUDA_ARCHITECTURES_ALL_MAJOR COMPARE NATURAL )
184-
185164 # This can be changed via -D argument to CMake
186165 # By default all possible capabilities are compiled
187166 set (COMPUTE_CAPABILITY "${POSSIBLE_CAPABILITIES} " CACHE STRING "Compute Capabilities Targeted" )
0 commit comments