From a7724480fd7eb5451981ba7458c1b3829f4897d1 Mon Sep 17 00:00:00 2001 From: Sandro Hanea <40202887+sandrohanea@users.noreply.github.com> Date: Mon, 31 Mar 2025 12:44:36 +0200 Subject: [PATCH] cmake: improve Vulkan cooperative matrix support checks (whisper/2966) Co-authored-by: Sandro Hanea --- ggml/src/ggml-vulkan/CMakeLists.txt | 15 +++++++++++++-- 1 file changed, 13 insertions(+), 2 deletions(-) diff --git a/ggml/src/ggml-vulkan/CMakeLists.txt b/ggml/src/ggml-vulkan/CMakeLists.txt index 8ef28e2d..251e0f2d 100644 --- a/ggml/src/ggml-vulkan/CMakeLists.txt +++ b/ggml/src/ggml-vulkan/CMakeLists.txt @@ -36,9 +36,14 @@ if (Vulkan_FOUND) set(GGML_VULKAN_COOPMAT_GLSLC_SUPPORT OFF CACHE INTERNAL "Whether coopmat is supported by glslc") else() message(STATUS "GL_KHR_cooperative_matrix supported by glslc") - add_compile_definitions(GGML_VULKAN_COOPMAT_GLSLC_SUPPORT) set(GGML_VULKAN_COOPMAT_GLSLC_SUPPORT ON CACHE INTERNAL "Whether coopmat is supported by glslc") endif() + else() + message(STATUS "GL_KHR_cooperative_matrix support already defined: ${GGML_VULKAN_COOPMAT_GLSLC_SUPPORT}") + endif() + + if(GGML_VULKAN_COOPMAT_GLSLC_SUPPORT) + add_compile_definitions(GGML_VULKAN_COOPMAT_GLSLC_SUPPORT) endif() if(NOT DEFINED GGML_VULKAN_COOPMAT2_GLSLC_SUPPORT) @@ -54,9 +59,15 @@ if (Vulkan_FOUND) set(GGML_VULKAN_COOPMAT2_GLSLC_SUPPORT OFF CACHE INTERNAL "Whether coopmat2 is supported by glslc") else() message(STATUS "GL_NV_cooperative_matrix2 supported by glslc") - add_compile_definitions(GGML_VULKAN_COOPMAT2_GLSLC_SUPPORT) + set(GGML_VULKAN_COOPMAT2_GLSLC_SUPPORT ON CACHE INTERNAL "Whether coopmat2 is supported by glslc") endif() + else() + message(STATUS "GL_NV_cooperative_matrix2 support already defined: ${GGML_VULKAN_COOPMAT2_GLSLC_SUPPORT}") + endif() + + if(GGML_VULKAN_COOPMAT2_GLSLC_SUPPORT) + add_compile_definitions(GGML_VULKAN_COOPMAT2_GLSLC_SUPPORT) endif() target_link_libraries(ggml-vulkan PRIVATE Vulkan::Vulkan)