返回全部动态

llama.cpp b11876:修复 Vulkan 小矩阵 tile 的 warp 划分

原标题:b11876

llama.cpp Releases一手来源开源质量 64

AI 摘要

llama.cpp 发布 b11876 版本,修复了 Vulkan 后端小矩阵乘法 tile 的 warp tile 划分问题:此前小 tile 的 WM 固定为 32(8 宽子组时为 8),未随 tile 的 BLOCK_SIZE 与 WARP 变化,导致 16 宽子组(Mali)时工作组第二个子组写入下一 tile 的列、8 宽子组时部分 _id tile 行未计算。改动改为按每个子组一个 warp tile 推导 WM,作者在 Pixel 9 上测试,修改前 20 个 MUL_MAT 和 6 个 MUL_MAT_ID 失败,修改后全部通过,修复了 #28637。该版本同时提供 macOS、Linux、Android、Windows 等多平台预编译包。

以上摘要由 AI 生成,可能存在误差。事实请以原文为准。

正文节选

<details open> vulkan : one warp tile per subgroup in the small matmul tiles (#30106) WM of the small tiles was 32, or 8 for 8-wide subgroups, whatever the tile's BLOCK_SIZE and WARP. With 16-wide subgroups (Mali) the second subgroup of a workgroup wrote into the next tile's columns. With 8-wide subgroups some _id tiles left rows uncomputed. Derive WM so there is one warp tile per subgroup. Tested on my Pixel 9 Android phone. Before the change there were 20 MUL_MAT and 6 MUL_MAT_ID failures.


发布时间:2026-10-25 22:27
抓取时间:2026-10-25 22:44
来源机构:ggml-org
阅读原文github.com