# See supported GPUs on Wikipedia | |
# https://en.wikipedia.org/wiki/CUDA#GPUs_supported | |
# Initial set based on CUDA 7.0. | |
set(CMAKE_CUDA_ARCHITECTURES_ALL 20 21 30 35 37 50 52 53) | |
set(CMAKE_CUDA_ARCHITECTURES_ALL_MAJOR 20 30 35 50) | |
if(CMAKE_CUDA_COMPILER_TOOLKIT_VERSION VERSION_GREATER_EQUAL 8.0) | |
list(APPEND CMAKE_CUDA_ARCHITECTURES_ALL 60 61 62) | |
list(APPEND CMAKE_CUDA_ARCHITECTURES_ALL_MAJOR 60) | |
endif() | |
if(CMAKE_CUDA_COMPILER_TOOLKIT_VERSION VERSION_GREATER_EQUAL 9.0) | |
if(NOT CMAKE_CUDA_COMPILER_ID STREQUAL "Clang" OR CMAKE_CUDA_COMPILER_VERSION VERSION_GREATER_EQUAL 6.0) | |
list(APPEND CMAKE_CUDA_ARCHITECTURES_ALL 70 72) | |
list(APPEND CMAKE_CUDA_ARCHITECTURES_ALL_MAJOR 70) | |
endif() | |
list(REMOVE_ITEM CMAKE_CUDA_ARCHITECTURES_ALL 20 21) | |
list(REMOVE_ITEM CMAKE_CUDA_ARCHITECTURES_ALL_MAJOR 20 21) | |
endif() | |
if(CMAKE_CUDA_COMPILER_TOOLKIT_VERSION VERSION_GREATER_EQUAL 10.0 | |
AND (NOT CMAKE_CUDA_COMPILER_ID STREQUAL "Clang" OR CMAKE_CUDA_COMPILER_VERSION VERSION_GREATER_EQUAL 8.0)) | |
list(APPEND CMAKE_CUDA_ARCHITECTURES_ALL 75) | |
endif() | |
if(CMAKE_CUDA_COMPILER_TOOLKIT_VERSION VERSION_GREATER_EQUAL 11.0) | |
if(NOT CMAKE_CUDA_COMPILER_ID STREQUAL "Clang" OR CMAKE_CUDA_COMPILER_VERSION VERSION_GREATER_EQUAL 11.0) | |
list(APPEND CMAKE_CUDA_ARCHITECTURES_ALL 80) | |
list(APPEND CMAKE_CUDA_ARCHITECTURES_ALL_MAJOR 80) | |
endif() | |
list(REMOVE_ITEM CMAKE_CUDA_ARCHITECTURES_ALL 30) | |
list(REMOVE_ITEM CMAKE_CUDA_ARCHITECTURES_ALL_MAJOR 30) | |
endif() | |
if(CMAKE_CUDA_COMPILER_TOOLKIT_VERSION VERSION_GREATER_EQUAL 11.1 | |
AND (NOT CMAKE_CUDA_COMPILER_ID STREQUAL "Clang" OR CMAKE_CUDA_COMPILER_VERSION VERSION_GREATER_EQUAL 13.0)) | |
list(APPEND CMAKE_CUDA_ARCHITECTURES_ALL 86) | |
endif() | |
if(CMAKE_CUDA_COMPILER_TOOLKIT_VERSION VERSION_GREATER_EQUAL 11.4 | |
AND (NOT CMAKE_CUDA_COMPILER_ID STREQUAL "Clang")) | |
list(APPEND CMAKE_CUDA_ARCHITECTURES_ALL 87) | |
endif() |