llama.cpp b10891:PowerVR Vulkan 反量化回退共享内存归约
原标题:b10891
AI 摘要
llama.cpp 发布 b10891 版本,针对 PowerVR GPU 的 Vulkan 后端修复了一个严重问题:Imagination 专有 Vulkan 编译器对使用仅子组归约(要求子组大小 >=16)的反量化 mul_mat_vec 着色器返回 VK_ERROR_UNKNOWN,导致 k-quants、i-quants、TQ2_0、MXFP4、NVFP4 等模型生成首个 token 时进程崩溃。修复方案是回退到共享内存归约变体,该变体可正常编译并在 q2_K 至 q6_K 上与 CPU 参考结果一致,但混合变体吞吐下降 27%(Qwen3.5-2B-Q4_K_M 上 3.78 vs 5.20 t/s)。
正文节选
<details open> vulkan: fall back to shared-memory reduction for dmmv on PowerVR (#28341) The Imagination proprietary Vulkan compiler returns VK_ERROR_UNKNOWN from vkCreateComputePipelines for every dequant mul_mat_vec shader built with the subgroup-only reduction that requires a subgroup size >= 16. That covers the k-quants, the i-quants, TQ2_0, MXFP4 and NVFP4. ggml rethrows, so the first generated token of any such model kills the process. Reproduced on a Pixel 11 Pro (PowerVR C-Series CXTP