From: Ruben Ortlam Date: Mon, 1 Sep 2025 18:58:35 +0000 (+0200) Subject: vulkan: disable large mmv subgroups on older Nvidia GPUs (#15717) X-Git-Tag: upstream/0.0.6527~179 X-Git-Url: https://git.djapps.eu/?a=commitdiff_plain;h=fec7911f8febb22c27ce1acb12441800da24cc06;p=pkg%2Fggml%2Fsources%2Fllama.cpp vulkan: disable large mmv subgroups on older Nvidia GPUs (#15717) --- diff --git a/ggml/src/ggml-vulkan/ggml-vulkan.cpp b/ggml/src/ggml-vulkan/ggml-vulkan.cpp index 4057ce85..3ac459bc 100644 --- a/ggml/src/ggml-vulkan/ggml-vulkan.cpp +++ b/ggml/src/ggml-vulkan/ggml-vulkan.cpp @@ -4662,7 +4662,7 @@ static vk_pipeline ggml_vk_get_dequantize_mul_mat_vec(ggml_backend_vk_context * // heuristic to choose workgroup size uint32_t dmmv_wg = DMMV_WG_SIZE_SUBGROUP; - if (ctx->device->vendor_id == VK_VENDOR_ID_NVIDIA || ctx->device->vendor_id == VK_VENDOR_ID_INTEL) { + if ((ctx->device->vendor_id == VK_VENDOR_ID_NVIDIA && ctx->device->architecture != vk_device_architecture::NVIDIA_PRE_TURING) || ctx->device->vendor_id == VK_VENDOR_ID_INTEL) { // Prefer larger workgroups when M is small, to spread the work out more // and keep more SMs busy. // q6_k seems to prefer small workgroup size even for "medium" values of M.