llama.cpp b12005为OpenCL后端加入q2_0量化初步支持
该版本在OpenCL后端新增q2_0的AOS/SOA移动、tiled mm、面向Adreno的noshuffle gemm/gemv与dp4a路径,并优化Adreno上q2_0的decode与窄批次;改动以PR #31340 合入。
AI解读:提交记录列出的实现包括:q2_0的AOS mv、SOA mv与tiled mm;面向Adreno的noshuffle gemm/gemv、dp4a,以及针对Adreno的q2_0 decode和窄批次优化。
提交署名显示Shaofei Qi、Li He为co-author,Codex在部分提交中标注为Assisted-by。
发布页同时提供macOS/iOS、Linux、Android、Windows等多平台预编译包,其中Windows arm64有OpenCL Adreno专用包。
来源未给出q2_0在OpenCL上的性能或精度数据,因此该改动支持的范围仅限于“已加入实现”,不能据此判断提速幅度。
llama.cpp发布版本b12005,主要变更是为OpenCL后端加入q2_0量化的初步支持,对应PR #31340。
q2_0在OpenCL后端实现了什么
按发布说明中的提交记录,这次改动分多步加入q2_0支持:先是AOS mv,随后是SOA mv与tiled mm,再补充面向Adreno的noshuffle gemm/gemv、Adreno上的dp4a路径,最后优化Adreno上q2_0的decode与窄批次。
- q2_0 AOS mv
- q2_0 SOA mv与tiled mm
- Adreno用noshuffle gemm/gemv
- Adreno用dp4a
- Adreno上q2_0 decode与窄批次优化
署名与发布物
提交信息显示Shaofei Qi、Li He为co-author,部分提交标注Assisted-by: Codex。发布页同时列出各平台预编译包,涵盖macOS arm64/x64、iOS XCFramework、Ubuntu的CPU/Vulkan/CUDA 12与 13/ROCm 10.0/OpenVINO/SYCL、Android arm64、Windows各后端,以及Snapdragon平台包。
- Windows arm64提供OpenCL Adreno专用包
- Linux/Android提供Snapdragon(CPU、Adreno GPU、Hexagon NPU)包
- macOS Apple Silicon的KleidiAI版本标记为DISABLED
- openEuler构建标记为DISABLED
适用范围与未给出的信息
这次改动属于OpenCL后端的量化算子支持,实际可用性取决于所用GPU与构建包;来源没有给出q2_0在OpenCL上的吞吐、延迟或精度对比数据,也没有说明支持哪些具体模型。因此只能确认相关实现已被合入并随b12005发布,不能据此推断性能提升或与其它后端的差距。