From: Kevin Liu Date: Thu, 11 Jun 2026 13:43:04 +0000 (-0400) Subject: vulkan: use medium matmul tile on Asahi Linux (#24306) X-Git-Tag: upstream/0.0.10438~841 X-Git-Url: https://git.djapps.eu/?a=commitdiff_plain;h=1af154a76f505fdd15777a2486adfa6a75935417;p=pkg%2Fggml%2Fsources%2Fllama.cpp vulkan: use medium matmul tile on Asahi Linux (#24306) * vulkan: use medium matmul tile on Asahi Linux * vulkan: switch Apple detection to Honeykrisp driver id --- diff --git a/ggml/src/ggml-vulkan/ggml-vulkan.cpp b/ggml/src/ggml-vulkan/ggml-vulkan.cpp index 387826b6d..47533c2ba 100644 --- a/ggml/src/ggml-vulkan/ggml-vulkan.cpp +++ b/ggml/src/ggml-vulkan/ggml-vulkan.cpp @@ -6202,6 +6202,17 @@ static vk_device ggml_vk_get_device(size_t idx) { break; } + // Honeykrisp driver for Asahi Linux doesn't report VK_VENDOR_ID_APPLE. + // Check for Honeykrisp driver and force same configuration as the VK_VENDOR_ID_APPLE case. + if (device->driver_id == vk::DriverId::eMesaHoneykrisp) { + device->mul_mat_l[i] = false; + device->mul_mat_m[i] = true; + device->mul_mat_s[i] = false; + device->mul_mat_id_l[i] = false; + device->mul_mat_id_m[i] = true; + device->mul_mat_id_s[i] = false; + } + device->mul_mat_l_int[i] = device->mul_mat_l[i]; device->mul_mat_m_int[i] = device->mul_mat_m[i]; device->mul_mat_s_int[i] = device->mul_mat_s[i];