开源llama.cpp Releases·原文 2026年9月7日

llama.cpp b10835发布:修复CUDA后端f16 Flash Attention的分支屏障错误

本次更新包含两个ggml-cuda补丁:修复f16 flash attention中的divergent barrier问题,并避免重复的元数据指针设置。修复主要影响NVIDIA GPU上使用半精度Flash Attention的场景。

AI解读:llama.cpp的这次更新专门修复了NVIDIA GPU(CUDA后端)上使用半精度(f16)Flash Attention时可能出现的同步问题。所谓 'divergent barrier' 指的是在GPU并行执行中,不同线程(或warp)到达同步点的时间不一致,导致部分线程等待或错误退出,可能引发性能下降、计算错误甚至内核挂起。修复对象是使用Flash Attention加速库的f16路径,因此影响的是在NVIDIA显卡上运行大模型且启用Flash Attention的本地用户。对于大多数通过官方预编译包升级的用户,安装新版本即可获得修复,无需额外操作;如果自编译且代码被修改过,则建议同步合入这两个补丁。注意,本次版本中macOS的KleidiAI加速包被标记为DISABLED,相关用户需留意后续说明。

llama.cpp发布b10835版本,包含两个针对ggml-cuda模块的修复:解决f16 Flash Attention中的divergent barrier问题,并避免重复的元数据指针设置。

修复内容与背景

根据发布说明,b10835包含两项合并的补丁(分别对应PR #27870 及后续提交)。第一个修复针对半精度Flash Attention实现中的divergent barrier——即GPU线程到达同步屏障时产生分歧导致的行为异常;第二个改动移除了元数据指针的重复初始化。

Flash Attention是加速注意力计算的关键内核,广泛用于本地推理。该修复对使用NVIDIA GPU且以半精度(f16)运行Flash Attention的用户具有实际意义,可能消除潜在的死锁或错误结果。

各平台构建与下载

新版本为macOS、Linux、Windows、Android和iOS提供预编译二进制。macOS提供Apple Silicon(arm64)和Intel(x64)构建,但标注KleidiAI的arm64构建已被禁用(禁用原因指向PR #23780)。Linux提供Ubuntu x64/arm64/s390x CPU版、Vulkan、ROCm 10.0、OpenVINO、SYCL FP32/FP16等变体。Windows提供CPU、CUDA 12、CUDA 13、Vulkan、OpenVINO、SYCL、ROCm 10.0以及arm64的OpenCL Adreno和CUDA 13(预览)构建。

Android提供arm64 CPU构建,iOS提供XCFramework。此外,openEuler的Ascend相关构建(310p、910b)在本版本中标记为DISABLED(禁用缘由指向PR #23705)。发布页还提供UI压缩包以及各CUDA版本的运行时DLL文件。

信息来源

llama.cpp Releases原始来源