llama.cpp b11398为x86 tinyBLAS加入BF16/FP16/FP32 K尾部向量化
llama.cpp发布b11398,PR #29806 让x86上tinyBLAS支持BF16、FP16与FP32的K尾部向量化;测试在use_ref启用时跳过tinyBLAS,使CPU测试改为对比vec_dot路径。
AI解读:改动包含三部分:向量化tinyBLAS中的BF16 K尾部、向量化F16/F32尾部,以及在use_ref启用时跳过tinyBLAS,以便CPU测试针对vec_dot路径进行比较。
该版本同时提供多平台预编译包,涵盖macOS(Apple Silicon与Intel)、iOS XCFramework、Ubuntu(x64、arm64、s390x)以及多种后端(Vulkan、CUDA 12/13、ROCm 10.0、OpenVINO、SYCL FP32/FP16)和Android、Windows构建。
来源未给出该改动的性能数据、加速比例或适用模型范围,因此无法判断实际收益。
来源未说明该版本是否合并到主分支之外的其他分支,也未列出破坏性变更或已知问题。
llama.cpp发布b11398版本,核心改动是在x86平台的ggml-cpu tinyBLAS中支持BF16、FP16和FP32的K尾部(K tails)向量化,对应PR #29806。
b11398的改动内容与测试调整
根据发布说明,PR #29806 的提交信息分为三条:在tinyBLAS中向量化BF16 K尾部;向量化tinyBLAS的F16/F32尾部;以及在use_ref启用时跳过tinyBLAS,使CPU测试改为与vec_dot路径对比。
来源没有给出这些改动的性能数据或基准结果。
该版本同时附带各平台预编译产物,包括macOS Apple Silicon(arm64)、macOS Intel(x64)、iOS XCFramework、Ubuntu(x64、arm64、s390x)及带Vulkan、CUDA 12.8/13.4、ROCm 10.0、OpenVINO、SYCL FP32/FP16后端的Linux包,以及Android、Windows多种CPU与GPU/NPU组合的构建;部分平台(macOS Apple Silicon的KleidiAI启用版本、openEuler)标记为DISABLED。
- PR #29806 改动的目标平台为x86。
- 改动涉及BF16、FP16、FP32三种数据类型的K尾部向量化。
- CPU测试在use_ref启用时跳过tinyBLAS,改为对比vec_dot路径。
- 发布产物覆盖macOS/iOS、Linux、Android、Windows,以及CUDA、Vulkan、ROCm、OpenVINO、SYCL等后端。