diff --git a/ggml/src/ggml-cuda/CMakeLists.txt b/ggml/src/ggml-cuda/CMakeLists.txt index 3b438c30ce6..872beaae6ab 100644 --- a/ggml/src/ggml-cuda/CMakeLists.txt +++ b/ggml/src/ggml-cuda/CMakeLists.txt @@ -37,19 +37,14 @@ if (CUDAToolkit_FOUND) endif() endif() endif() - message(STATUS "Using CUDA architectures: ${CMAKE_CUDA_ARCHITECTURES}") enable_language(CUDA) + string(REGEX REPLACE "native" ${CMAKE_CUDA_ARCHITECTURES_NATIVE} CMAKE_CUDA_ARCHITECTURES ${CMAKE_CUDA_ARCHITECTURES}) # Replace any 12x-real architectures with 12x{a}-real. FP4 ptx instructions are not available in just 12x if (GGML_NATIVE) set(PROCESSED_ARCHITECTURES "") - if (CMAKE_CUDA_ARCHITECTURES_NATIVE) - set(ARCH_LIST ${CMAKE_CUDA_ARCHITECTURES_NATIVE}) - else() - set(ARCH_LIST ${CMAKE_CUDA_ARCHITECTURES}) - endif() - foreach(ARCH ${ARCH_LIST}) + foreach(ARCH ${CMAKE_CUDA_ARCHITECTURES}) if (ARCH MATCHES "^12[0-9](-real|-virtual)?$") string(REGEX REPLACE "^(12[0-9]).*$" "\\1" BASE_ARCH ${ARCH}) message(STATUS "Replacing ${ARCH} with ${BASE_ARCH}a-real") @@ -66,6 +61,7 @@ if (CUDAToolkit_FOUND) endif() endforeach() endif() + message(STATUS "Using CUDA architectures: ${CMAKE_CUDA_ARCHITECTURES}") file(GLOB GGML_HEADERS_CUDA "*.cuh") list(APPEND GGML_HEADERS_CUDA "../../include/ggml-cuda.h")