diff --git a/CMakeLists.txt b/CMakeLists.txt index f29886c08cf..4cad0e1bca4 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -72,7 +72,7 @@ gko_rename_cache(GINKGO_CUDA_COMPILER_FLAGS CMAKE_CUDA_FLAGS BOOL "Flags used by # load executor-specific configuration if(GINKGO_BUILD_CUDA) include(cmake/cuda.cmake) - if(GINKGO_CUDA_CUSTOM_THRUST_NAMESPACE AND CUDAToolkit_VERSION VERSION_LESS 11.6) + if(CUDAToolkit_VERSION VERSION_LESS 11.6) message(STATUS "Disable custom thrust namespace for cuda before 11.6 because it has no effect in the thrust shipped by cuda before 11.6") set(GINKGO_CUDA_CUSTOM_THRUST_NAMESPACE OFF) else() diff --git a/cmake/Modules/CudaArchitectureSelector.cmake b/cmake/Modules/CudaArchitectureSelector.cmake index f6295d11e06..dd9b5e64e4a 100644 --- a/cmake/Modules/CudaArchitectureSelector.cmake +++ b/cmake/Modules/CudaArchitectureSelector.cmake @@ -68,10 +68,10 @@ # # GPU generation name: # Has to be one of the strings ``Tesla``, ``Fermi``, ``Kepler``, ``Maxwell``, -# ``Pascal``, ``Volta``, ``Turing``, ``Ampere``. Specifying one of the strings -# will add flags for the generation of CUBIN code for all architectures -# belonging to that GPU generation (except the ones listed in the -# ``UNSUPPORTED`` list). +# ``Pascal``, ``Volta``, ``Turing``, ``Ampere``, ``Ada``, ``Hopper``. +# Specifying one of the strings will add flags for the generation of CUBIN +# code for all architectures belonging to that GPU generation (except the +# ones listed in the ``UNSUPPORTED`` list). # # Virtual and physical architecture specification: # A string of the form ``XX(YY)``, where ``XX`` is the identifier of the @@ -240,7 +240,9 @@ function(cas_get_architectures_by_name name output) set( pascal_version 6) set( volta_version "7(0|2)") set( turing_version 75) - set( ampere_version 8) + set( ampere_version "8(0|6|7)") + set( ada_version 89) + set( hopper_version 9) string(TOLOWER ${name} lower_name) if(NOT DEFINED ${lower_name}_version) message(FATAL_ERROR "${name} is not a valid GPU generation name") diff --git a/common/cuda_hip/base/executor.hpp.inc b/common/cuda_hip/base/executor.hpp.inc index 3c6a5275b0d..a478f74c840 100644 --- a/common/cuda_hip/base/executor.hpp.inc +++ b/common/cuda_hip/base/executor.hpp.inc @@ -34,6 +34,7 @@ inline int convert_sm_ver_to_cores(int major, int minor) {0x80, 64}, // Ampere Generation (SM 8.0) GA100 class {0x86, 128}, // Ampere Generation (SM 8.6) {0x87, 128}, // Ampere Generation (SM 8.7) + {0x89, 128}, // Ada Generation (SM 8.9) {0x90, 128}, // Hopper Generation (SM 9.0) {-1, -1}};