llama.cpp b11849为Hexagon后端加入SGN算子
该版本在Hexagon后端新增SGN(符号)算子支持,并用符号位做优化、补充f16支持;同时放宽了一元维度折叠的检查条件。发布页仍按平台列出macOS、Linux、Windows、Android等构建包。
AI解读:提交说明列出两项实现细节:用符号位优化SGN,以及为SGN增加f16(半精度)支持。
同一提交还调整了通用一元算子逻辑:SGN改用通用的unary_colapse,维度折叠检查被放宽以覆盖更多条件,并将维度折叠移入主机侧求解器执行。
提交由Max Krasnyansky等人共同署名,提交信息中标注OpenCode提供协助。
发布页按macOS/iOS、Linux、Windows、Android等平台提供构建产物,其中含面向Snapdragon的Linux/Android包,标注覆盖CPU、Adreno GPU与Hexagon NPU。
来源未给出该算子对模型推理速度或精度的实测数据,改动效果范围仅限提交说明所描述的Hexagon后端实现。
llama.cpp发布b11849版本。发布说明中的提交信息显示,本次改动为Hexagon后端加入SGN(符号)算子支持(PR #30346)。
Hexagon后端新增SGN算子
提交说明的第一条是“hexagon: add SGN support”,即给Hexagon后端补上SGN算子。后续提交进一步用符号位对SGN做优化,并为其加入f16支持。
提交信息标注OpenCode提供了协助(Assisted-by: OpenCode),共同作者包括Max Krasnyansky。
- 新增:Hexagon后端SGN算子支持
- 优化:SGN改为基于符号位实现
- 精度:SGN增加f16支持
一元算子维度折叠的调整
提交说明称,hex-unary让SGN改用通用的unary_colapse,并放宽折叠检查,使其适用于更多条件;此外改进了维度折叠,并将其放到主机侧求解器中运行。
- SGN改用通用unary_colapse路径
- 放宽colapse检查条件,覆盖更多情形
- 维度折叠改进后移至主机侧求解器执行
发布产物覆盖的平台
发布页按平台列出构建包:macOS Apple Silicon(arm64)与Intel(x64)、iOS XCFramework;Ubuntu x64/arm64/s390x CPU,以及Vulkan、CUDA 12/13、ROCm 10.0、OpenVINO、SYCL FP32/FP16等变体;Windows x64/arm64的CPU、CUDA、Vulkan、OpenCL Adreno、OpenVINO、SYCL、ROCm构建;Android arm64的CPU版与Snapdragon版。
其中Linux arm64与Android arm64的Snapdragon包标注覆盖CPU、Adreno GPU和Hexagon NPU,并附有对应的安装指南链接。发布页还显示macOS Apple Silicon的KleidiAI版本与openEuler构建处于DISABLED状态。
- macOS/iOS:arm64、x64、XCFramework
- Linux:Ubuntu多架构CPU与Vulkan、CUDA、ROCm、OpenVINO、SYCL变体
- Windows:x64/arm64的CPU、CUDA、Vulkan、OpenCL Adreno等
- Android:arm64 CPU与Snapdragon(CPU/Adreno GPU/Hexagon NPU)