llama.cpp b11933:vulkan 修复 CI llvmpipe,允许 MUL_MAT 中 dim 3 广播(#31239)
vulkan: fix CI llvmpipe by allowing dim 3 broadcast in MUL_MAT ( #31239 ) vulkan: allow dim 3 broadcast in MUL_MAT supports_op rejected every MUL_MAT whose src0 and src1 differ in…
vulkan:在 MUL_MAT 中允许维度 3 广播,修复 CI 的 llvmpipe(#31239)
vulkan:在 MUL_MAT 中允许维度 3 广播
supports_op 此前会拒绝所有 src0 与 src1 在 ne3 上不同的 MUL_MAT,尽管 mul_mm、mul_mmq 和 mul_mat_vec 本就能通过 broadcast3 把 src0 沿维度 3 广播。这类矩阵乘法于是回退到 CPU 上用权重副本执行,且切分布局会随 ubatch 中流数量的变化而变化。现在仅对 MUL_MAT_ID 保留严格检查,并把广播情形从 mul_mat_vec_nc(唯一要求 ne3 相同的路径)引开。
tests:加入维度 3 置换广播用例,加固 MUL_MAT
为 MUL_MAT 覆盖新增「权重沿维度 3 广播、作用于置换后的逐流激活」的用例——即非统一 KV 缓存下 MLA 输出投影的形状,分别覆盖单 token、多个 head 以及每流多 token 的情形。
网站:https://llama.app
构建证明:https://github.com/ggml-org/llama.cpp/attestations/60437396
发布说明另附 macOS/iOS、Linux、Android、Windows、openEuler 各平台构建产物清单。