diff --git a/cmake/ChooseCudaCC.cmake b/cmake/ChooseCudaCC.cmake index d9bc6c2..0ac4fa9 100755 --- a/cmake/ChooseCudaCC.cmake +++ b/cmake/ChooseCudaCC.cmake @@ -65,7 +65,8 @@ function(chooseCudaCC SUPPORTED_CC SUPPORTED_GENCODE_FLAGS) set(CC_LIST_BY_SYSTEM_PROCESSOR "") if(CMAKE_SYSTEM_PROCESSOR IN_LIST OTHER_SUPPORTED_PROCESSORS) - list(APPEND CC_LIST_BY_SYSTEM_PROCESSOR "20;21;30;35;50;52;60;61;70;75;80;86") + # 87 is intentionally omitted, see discussion in https://github.com/alicevision/popsift/pull/146 + list(APPEND CC_LIST_BY_SYSTEM_PROCESSOR "20;21;30;35;50;52;60;61;70;75;80;86;89;90") endif() if(CMAKE_SYSTEM_PROCESSOR IN_LIST TEGRA_SUPPORTED_PROCESSORS) list(APPEND CC_LIST_BY_SYSTEM_PROCESSOR "32;53;62;72") @@ -78,10 +79,20 @@ function(chooseCudaCC SUPPORTED_CC SUPPORTED_GENCODE_FLAGS) # Default setting of the CUDA CC versions to compile. # Shortening the lists saves a lot of compile time. # - set(CUDA_MIN_CC 20) - set(CUDA_MAX_CC 86) - if(CUDA_VERSION_MAJOR GREATER_EQUAL 11) + + # The current version last time this list was updated was CUDA 12.1. + if(CUDA_VERSION VERSION_GREATER_EQUAL 12) + set(CUDA_MIN_CC 50) + set(CUDA_MAX_CC 90) + elseif(CUDA_VERSION VERSION_GREATER_EQUAL 11.8) + set(CUDA_MIN_CC 35) + set(CUDA_MAX_CC 90) + elseif(CUDA_VERSION VERSION_GREATER_EQUAL 11.1) + set(CUDA_MIN_CC 35) + set(CUDA_MAX_CC 86) + elseif(CUDA_VERSION_MAJOR GREATER_EQUAL 11) set(CUDA_MIN_CC 35) + set(CUDA_MAX_CC 80) elseif(CUDA_VERSION_MAJOR GREATER_EQUAL 10) set(CUDA_MIN_CC 30) set(CUDA_MAX_CC 75) @@ -89,8 +100,10 @@ function(chooseCudaCC SUPPORTED_CC SUPPORTED_GENCODE_FLAGS) set(CUDA_MIN_CC 30) set(CUDA_MAX_CC 72) elseif(CUDA_VERSION_MAJOR GREATER_EQUAL 8) + set(CUDA_MIN_CC 20) set(CUDA_MAX_CC 62) elseif(CUDA_VERSION_MAJOR GREATER_EQUAL 7) + set(CUDA_MIN_CC 20) set(CUDA_MAX_CC 53) else() message(FATAL_ERROR "We do not support a CUDA SDK below version 7.0")