llama.cpp b12118改进OpenCL后端解码性能,为GQA配置补上Flash Attention支持
llama.cpp发布b12118版本,主要变更为OpenCL后端在解码阶段启用Flash Attention(FA),并针对特定GQA分组数与头维度组合补充FA处理路径。
AI解读:本次更新面向在OpenCL后端上运行llama.cpp的推理场景,改动集中在解码(decode)阶段的性能改进和FA算子覆盖范围。
改动按GQA分组数与头维度组合展开:GQA 2和 6 配头大小 256、GQA 16配头大小 128 和 512、GQA 2配头大小 512。这些组合此前未必被FA路径覆盖,现在由补丁显式处理。
补丁还提到对q4_K gate up + GLU使用更多workgroup,属于OpenCL后端的局部调度调整。
来源没有给出吞吐、延迟或对比基准数据,因此无法据此判断解码提速幅度,也无法确认这些改动对非OpenCL后端的迁移价值。
贡献者署名为Shaofei Qi与Li He,补丁PR编号为 #31633。发布页仍照常提供多平台预编译包。
llama.cpp发布b12118版本,主要变更为OpenCL后端的解码性能改进,并在该后端为Flash Attention(FA)增加若干GQA配置的处理路径。发布说明中的提交信息为“opencl: improve decode perf with FA (#31633)”。
提交信息列出了具体覆盖组合:GQA 2和 6 配头大小 256、GQA 16配头大小 128 和 512、GQA 2配头大小 512。OpenCL后端还对q4_K gate up + GLU使用更多workgroup。提交信息署名为Shaofei Qi与Li He。
补丁覆盖的GQA与头维度组合
按提交信息,OpenCL的FA处理路径按GQA分组数与头大小分别补齐:GQA 2、6 配头大小 256;GQA 16配头大小 128 与 512;GQA 2配头大小 512。这些是补丁显式处理的配置,并未声称覆盖所有模型结构。
发布包与平台范围
b12118照常提供macOS/iOS、Linux、Android、Windows的预编译包,Linux侧包括CPU、Vulkan、CUDA 12/13、ROCm 10.0、OpenVINO、SYCL等变体,Windows侧包括CPU、OpenCL Adreno arm64、CUDA、Vulkan、SYCL、ROCm等变体。openEuler相关构建标注为DISABLED。