From: Ruben Ortlam Date: Mon, 1 Sep 2025 18:58:35 +0000 (+0200) Subject: vulkan: disable large mmv subgroups on older Nvidia GPUs (llama/15717) X-Git-Tag: v0.9.1~110 X-Git-Url: https://git.djapps.eu/?a=commitdiff_plain;h=9c2f7b1cfe365b59e5cba35b0cb57493b3ce4f11;p=pkg%2Fggml%2Fsources%2Fggml vulkan: disable large mmv subgroups on older Nvidia GPUs (llama/15717) --- diff --git a/src/ggml-vulkan/ggml-vulkan.cpp b/src/ggml-vulkan/ggml-vulkan.cpp index 4057ce85..3ac459bc 100644 --- a/src/ggml-vulkan/ggml-vulkan.cpp +++ b/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.