开源llama.cpp Releases·原文 2026年10月6日

llama.cpp b11436发布:修复OpenVINO后端CI测试与GPU回归

llama.cpp发布b11436版本,重点修复ggml-openvino后端的CI测试失败和GPU回归问题,涉及图调度、量化运算、状态缓存等多个环节;各平台预编译二进制同步更新。

AI解读:修复涉及多个具体缺陷:跳过未选中的图分支、支持同类连续DUP节点、使inp_scale_rows的token维度动态化、按输出类型创建FILL常量、拒绝量化类型的CONCAT、处理build_rs的单次循环状态gather、对齐eltwise操作数秩、匹配rank-3状态图的MoE融合等。

部分修复有明确适用范围:Q4_1/Q4_K非绑定权重的GPU MUL_MAT算子测试被标记为不支持,但模型权重使用u4 zero point不受影响;静态NPU路径上inp_scale_rows按chunk填充。

修复前的具体症状包括:test-thread-safety在单token解码时在CPU和GPU上失败、Qwen3.5有状态执行失败、gemma-3在GPU上返回空答案。

预编译二进制覆盖macOS/iOS、Linux、Android、Windows、openEuler等平台,包含CPU、CUDA 12/13、Vulkan、ROCm 10.0、OpenVINO、SYCL、Snapdragon等后端;openEuler构建处标记为DISABLED。

llama.cpp发布b11436版本,主要修复ggml-openvino后端的CI测试问题和GPU回归,对应PR #30037。该版本同时更新了各平台的预编译二进制文件。

OpenVINO后端的具体修复

根据提交说明,上游 #29622 通过ggml_build_forward_select() 为每个输入嵌入图添加了混合token/embd分支,这些节点虽未被标记为计算,但后端仍会翻译它们;该分支中的DUP不受支持,导致调度器拆分图并以固定token数传递嵌入,首次单token解码随即失败(test-thread-safety在CPU和GPU上均失败)。修复方式为仅从计算节点构建OV模型,并像CONT一样翻译同类连续DUP,使图保持在单一后端上。

同一上游改动还将逐token嵌入缩放(gemma3、gemma3n、gemma4)移入新的 [1, n_tokens] 输入。本次修复为该输入赋予动态token维度,并在静态(NPU)路径上按chunk填充。

算子测试将Q4_1/Q4_K权重构建为u4加f16 zero point的形式,GPU插件在某些行数下编译该形式时报告 "clFinish, error code: -5 CL_OUT_OF_RESOURCES",导致test-backend-ops在 #29869 新增的MUL_MAT用例(如m=1000、n=2、k=1024)上中断。模型权重使用u4 zero point,不受此问题影响。修复后这些用例在GPU上被报告为不支持,直到插件被修复。算子测试在分配前检查支持情况,因此该检查仅匹配非绑定权重;模型加载用dummy buffer探测并将权重保留在GPU上。

translate_fill此前总是构建f32常量,导致f16 FILL产生f32数据,拷贝回f16输出缓冲区时越界。修复后按输出类型创建常量。量化输入在翻译时会被反量化,后端无法写出量化类型的CONCAT输出,修复后将其报告为不支持,与对量化类型的CPY处理一致。

#29856 将build_rs改为在s_copy叶子上用一次GET_ROWS收集所有循环状态,并将ubatch和额外状态作为其视图。有状态路径此前只匹配旧形式(s_copy每个视图一次GET_ROWS),导致Qwen3.5在CPU和GPU上有状态执行失败(Concat中的 "is_axis_valid(axis, r)")。修复后对单槽缓存将s_copy叶子上的GET_ROWS视为活跃状态gather,保留读取其视图的rank-4 reshape布局,并将空额外状态视图的拷贝映射到单槽剩余写回,同时对空视图的动态维度不再发出警告。

其他修复与验证状态

修复还包括:对齐eltwise操作数秩以绕过GPU插件缺陷;在rank-3状态图上匹配MoE融合;在AlignEltwiseOperandRanks中不对RMS norm输出做unsqueeze。该pass会为秩不同的Add/Multiply/Subtract提升低秩操作数的维度,在gemma-3中后注意力残差加法的低秩操作数是norm输出,unsqueeze会导致GPU插件错误计算该层,使gemma-3在有状态执行时在GPU上返回空答案;修复后在低秩操作数为RMS norm输出时跳过该重写。

发布产物

发布产物包括macOS(Apple Silicon arm64、Intel x64)与iOS XCFramework;Linux覆盖Ubuntu x64/arm64/s390x的CPU、Vulkan、CUDA 12.8、CUDA 13.4、ROCm 10.0、OpenVINO、SYCL FP32/FP16等构建,以及Linux arm64 Snapdragon(CPU、Adreno GPU、Hexagon NPU);Android提供arm64 CPU与Snapdragon版本;Windows提供x64/arm64的CPU、CUDA 12.4/13.4、Vulkan、OpenVINO、SYCL、ROCm 10.0等构建;openEuler构建标记为DISABLED。

信息来源

llama.cpp Releases原始来源