From 0b81212deaf5636fc1eb01302209b5f169cada1e Mon Sep 17 00:00:00 2001 From: Kawrakow Date: Thu, 16 Apr 2026 08:37:20 +0200 Subject: [PATCH] CPU: allow all supported quantization types for FlashMLA (#1641) --- ggml/src/iqk/fa/iqk_fa_576_512.cpp | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) diff --git a/ggml/src/iqk/fa/iqk_fa_576_512.cpp b/ggml/src/iqk/fa/iqk_fa_576_512.cpp index eec31cd3..132d4350 100644 --- a/ggml/src/iqk/fa/iqk_fa_576_512.cpp +++ b/ggml/src/iqk/fa/iqk_fa_576_512.cpp @@ -81,6 +81,24 @@ inline bool iqk_deepseek_helper(ggml_type type_k, iqk_deepseek_helper(kh, vh, nq1, nk1, stride_q, stride_m, stride_qkv, q, mask, scale, softcap, qkv, sinkf, M, S); return true; } + if (type_k == GGML_TYPE_Q4_0) { + HelperQ40 kh((const char *)k, stride_k); + HelperQ40 vh((const char *)v, stride_v); + iqk_deepseek_helper(kh, vh, nq1, nk1, stride_q, stride_m, stride_qkv, q, mask, scale, softcap, qkv, sinkf, M, S); + return true; + } + if (type_k == GGML_TYPE_Q4_1) { + HelperQ41 kh((const char *)k, stride_k); + HelperQ41 vh((const char *)v, stride_v); + iqk_deepseek_helper(kh, vh, nq1, nk1, stride_q, stride_m, stride_qkv, q, mask, scale, softcap, qkv, sinkf, M, S); + return true; + } + if (type_k == GGML_TYPE_IQ4_NL) { + HelperIQ4nl kh((const char *)k, stride_k); + HelperIQ4nl vh((const char *)v, stride_v); + iqk_deepseek_helper(kh, vh, nq1, nk1, stride_q, stride_m, stride_qkv, q, mask, scale, softcap, qkv, sinkf, M, S); + return true; + } #endif if (type_k == GGML_TYPE_F16) { HelperF16 kh((const char *)k, stride_k);