开源llama.cpp Releases·原文 2026年10月25日

llama.cpp b11876修复Vulkan小矩阵乘法子组划分错误

该版本修改了Vulkan后端小矩阵乘法瓦片的WM推导方式,使每个子组对应一个warp瓦片;提交者称在Pixel 9上测试后,此前 20 个MUL_MAT和 6 个MUL_MAT_ID失败全部通过。

AI解读:llama.cpp发布b11876版本,主要变更是Vulkan后端小矩阵乘法瓦片的子组划分方式(PR #30106)。

原实现中小瓦片的WM固定为 32,8 宽子组时为 8,与瓦片的BLOCK_SIZE和WARP无关。16 宽子组(Mali)下,同一工作组内第二个子组会写入下一瓦片的列;8 宽子组下部分 _id瓦片有行未被计算。

修改方式是推导WM,使每个子组对应一个warp瓦片。提交者称在自己的Pixel 9 Android手机上测试,修改前有 20 个MUL_MAT和 6 个MUL_MAT_ID失败,修改后全部通过,并称修复了 #28637。

提交信息注明Assisted-by: Claude Opus 5.5。上述测试结果来自提交者自述,未在来源中列出其他设备或平台的验证数据。

该版本同时提供macOS/iOS、Linux、Android、Windows等多平台预编译包,涵盖CPU、Vulkan、CUDA 12/13、ROCm、OpenVINO、SYCL等后端。

llama.cpp发布b11876版本,包含一项针对Vulkan后端的修复:在小矩阵乘法瓦片中改为每个子组对应一个warp瓦片(PR #30106)。

小矩阵瓦片的WM改为按子组推导

根据提交说明,小瓦片此前的WM为 32,8 宽子组时为 8,不随瓦片的BLOCK_SIZE和WARP变化。

这带来两个问题:在 16 宽子组(Mali)下,同一工作组中的第二个子组会写入下一个瓦片的列;在 8 宽子组下,部分 _id瓦片有行未被计算。修复方式是推导WM,使每个子组恰好对应一个warp瓦片。

  • 改动范围:Vulkan后端的小矩阵乘法瓦片
  • PR编号:#30106
  • 关联问题:#28637

提交者自测:Pixel 9上失败用例归零

提交者称在自己的Pixel 9 Android手机上进行了测试。修改前有 20 个MUL_MAT和 6 个MUL_MAT_ID失败,修改后全部通过。

该结果来自提交者自述,来源未提供其他设备、驱动或平台上的对照测试数据。提交信息中注明Assisted-by: Claude Opus 5.5。

信息来源

llama.cpp Releases原始来源

更多

新闻专题
外观