mirror of
https://github.com/ceres-solver/ceres-solver.git
synced 2026-08-29 16:40:38 +08:00
Set CMAKE_CUDA_ARCHITECTURES depending on CUDAToolkit_VERSION
Compilation fails if the CUDA architecture is not supported by the installed version of the CUDA toolkit. This commit sets the CMAKE_CUDA_ARCHITECTURES depending on the the installed CUDA toolkit version. Change-Id: I4765512279ee56897388e6ea22b961aebeb0fbca
This commit is contained in:
+23
-2
@@ -234,8 +234,29 @@ if (USE_CUDA)
|
||||
"find_dependency(CUDAToolkit ${CUDAToolkit_VERSION})")
|
||||
enable_language(CUDA)
|
||||
if (CMAKE_VERSION VERSION_GREATER_EQUAL "3.18")
|
||||
# Support Maxwell, Pascal, Volta, Turing, and Ampere GPUs.
|
||||
set(CMAKE_CUDA_ARCHITECTURES "50;60;70;80")
|
||||
# Support Maxwell GPUs (Default).
|
||||
set(CMAKE_CUDA_ARCHITECTURES "50")
|
||||
# Support other architectures depending on CUDA toolkit version.
|
||||
if (CUDAToolkit_VERSION VERSION_GREATER_EQUAL "8.0")
|
||||
# Support Pascal GPUs.
|
||||
list(APPEND CMAKE_CUDA_ARCHITECTURES "60")
|
||||
endif(CUDAToolkit_VERSION VERSION_GREATER_EQUAL "8.0")
|
||||
if (CUDAToolkit_VERSION VERSION_GREATER_EQUAL "9.0")
|
||||
# Support Volta GPUs.
|
||||
list(APPEND CMAKE_CUDA_ARCHITECTURES "70")
|
||||
endif(CUDAToolkit_VERSION VERSION_GREATER_EQUAL "9.0")
|
||||
if (CUDAToolkit_VERSION VERSION_GREATER_EQUAL "10.0")
|
||||
# Support Turing GPUs.
|
||||
list(APPEND CMAKE_CUDA_ARCHITECTURES "75")
|
||||
endif(CUDAToolkit_VERSION VERSION_GREATER_EQUAL "10.0")
|
||||
if (CUDAToolkit_VERSION VERSION_GREATER_EQUAL "11.0")
|
||||
# Support Ampere GPUs.
|
||||
list(APPEND CMAKE_CUDA_ARCHITECTURES "80")
|
||||
endif(CUDAToolkit_VERSION VERSION_GREATER_EQUAL "11.0")
|
||||
if (CUDAToolkit_VERSION VERSION_GREATER_EQUAL "11.8")
|
||||
# Support Hopper GPUs.
|
||||
list(APPEND CMAKE_CUDA_ARCHITECTURES "90")
|
||||
endif(CUDAToolkit_VERSION VERSION_GREATER_EQUAL "11.8")
|
||||
message("-- Setting CUDA Architecture to ${CMAKE_CUDA_ARCHITECTURES}")
|
||||
endif()
|
||||
|
||||
|
||||
Reference in New Issue
Block a user