llama.cpp发布b11868:为多核HMX flash attention加入KV-head team split
该版本在Hexagon后端将FA_HEAD_SPLIT与FA_SPLIT合并为单一环境变量GGML_HEXAGON_FA_SPLIT,取值 0 为仅token-split,取 1 时启用head-split,并在满足n_kv_heads条件时叠加team-split。发布页同时列出各平台构建包。
AI解读:变更将FA_HEAD_SPLIT和FA_SPLIT两个环境变量合并为一个GGML_HEXAGON_FA_SPLIT开关:0 表示关闭(仅token-split),1 表示启用head-split,并且在n_kv_heads满足条件时同时启用team-split。
该改动只涉及Hexagon后端在使用HMX进行flash attention且为多核的场景;发布说明未给出性能数据或受影响的模型范围。
发布包覆盖macOS/iOS、Linux(含Snapdragon的CPU、Adreno GPU、Hexagon NPU构建)、Android、Windows各后端,另提供UI包;macOS KleidiAI构建与openEuler构建处于DISABLED状态。
llama.cpp发布b11868版本,发布说明列出的主要改动为PR #31055:在Hexagon后端为多核场景下的HMX flash attention增加KV-head team split。
本次改动:合并为一个GGML_HEXAGON_FA_SPLIT开关
发布说明称,该PR将原有的FA_HEAD_SPLIT与FA_SPLIT两个开关合并为单个GGML_HEXAGON_FA_SPLIT标志。取值为 0 时关闭(仅token-split);取值为 1 时启用head-split,并在n_kv_heads满足条件时叠加team-split。
- 改动对象是Hexagon后端、多核环境下的HMX flash attention。
- 合并后的开关名为GGML_HEXAGON_FA_SPLIT,替代此前的FA_HEAD_SPLIT和FA_SPLIT。
- 取 0:关闭,仅token-split;取 1:head-split,并按n_kv_heads条件叠加team-split。
发布包范围
b11868发布页按平台列出构建文件。macOS/iOS提供Apple Silicon(arm64)、Intel(x64)与iOS XCFramework;其中macOS Apple Silicon的KleidiAI构建标注为DISABLED。Linux提供x64、arm64、s390x的CPU构建,以及Vulkan、CUDA 12.8、CUDA 13.4、ROCm 10.0、OpenVINO、SYCL FP32/FP16等后端构建,另有面向Snapdragon的arm64包(含CPU、Adreno GPU、Hexagon NPU)。Android提供arm64 CPU与Snapdragon两种包。Windows覆盖x64/arm64 CPU、arm64 OpenCL Adreno、CUDA 12.4/13.4、Vulkan、OpenVINO、SYCL、ROCm 10.0。openEuler各项构建标注为DISABLED。
- Snapdragon构建同时包含CPU、Adreno GPU与Hexagon NPU,与本次Hexagon改动对应。
- macOS KleidiAI构建与openEuler构建在发布页上的状态为DISABLED。
- 发布页另提供UI单独打包文件。
说明边界
发布说明未给出该改动的性能对比、适用模型清单或测试数据,也未说明开关默认值。以上内容为发布页对PR的描述,未经过独立验证。