@@ -295,26 +295,33 @@ endif()
295295
296296if (USE_CUDA)
297297 cmake_minimum_required (VERSION 3.18 ) # required by `CUDA_ARCHITECTURES` below
298+ find_package (CUDAToolkit REQUIRED )
298299 set_if_higher (CMAKE_CXX_STANDARD 14 )
299- if (CUDA_VERSION VERSION_GREATER_EQUAL "13.0" )
300- message (STATUS "CUDA ${CUDA_VERSION } detected. Setting CMAKE_CUDA_STANDARD to 17." )
300+ if (CUDAToolkit_VERSION VERSION_GREATER_EQUAL "13.0" )
301+ message (STATUS "CUDA ${CUDAToolkit_VERSION } detected. Setting CMAKE_CUDA_STANDARD to 17." )
301302 set_if_higher (CMAKE_CXX_STANDARD 17 )
302303 endif ()
303304 set (CMAKE_CXX_EXTENSIONS ON )
304305 set (CMAKE_CUDA_STANDARD ${CMAKE_CXX_STANDARD } )
305306 set (CMAKE_CUDA_STANDARD_REQUIRED ON )
306307 set (CMAKE_CUDA_HOST_COMPILER ${CMAKE_CXX_COMPILER } )
307308 if (NOT DEFINED CMAKE_CUDA_ARCHITECTURES)
308- find_package (CUDAToolkit REQUIRED )
309309 # check
310310 # https://gitlab.kitware.com/cmake/cmake/-/blob/master/Modules/Internal/CMakeCUDAArchitecturesAll.cmake
311- # for available architechures in different CUDA versions
312- set (CMAKE_CUDA_ARCHITECTURES
313- 60 # P100
314- 70 # V100
315- # Add your CUDA arch here Check the Compute Capability version of your
316- # GPU at: https://en.wikipedia.org/wiki/CUDA#GPUs_supported
317- )
311+ # for available architectures in different CUDA versions
312+ # CUDA 13.0+ dropped support for architectures below 75
313+ if (CUDAToolkit_VERSION VERSION_LESS "13.0" )
314+ set (CMAKE_CUDA_ARCHITECTURES
315+ 60 # P100
316+ 70 # V100
317+ )
318+ else ()
319+ # Start with empty list; architectures 75+ will be added below
320+ set (CMAKE_CUDA_ARCHITECTURES)
321+ endif ()
322+
323+ # Add your CUDA arch here Check the Compute Capability version of your
324+ # GPU at: https://en.wikipedia.org/wiki/CUDA#GPUs_supported
318325 if (CUDAToolkit_VERSION VERSION_GREATER_EQUAL 10.0)
319326 list (APPEND CMAKE_CUDA_ARCHITECTURES 75) # T4
320327 endif ()
0 commit comments