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

llama.cpp b10876发布:用GGML_FA_QUANTS替换GGML_FA_ALL_QUANTS,细粒度控制CUDA编译

新版本允许用户选择要编译的Flash Attention量化组合,未编译的组合将在运行时回退并给出警告。

AI解读:llama.cpp的这次更新把原来“要么全编,要么不编”的Flash Attention编译开关拆成了可选的量化组合,目的是缩短编译时间、减小二进制体积。以前你用GGML_FA_ALL_QUANTS想一次支持所有量化类型,编译会非常耗时;现在可以按需勾选,比如只编自己常用的k-quants或其他量化格式。

如果你自己从源码编译llama.cpp,这个改动直接关系到你的构建配置和日常使用:换上GGML_FA_QUANTS后要明确指定需要的组合,否则运行时若遇到未编译的模型量化类型,会回退到普通核并给警告,可能影响速度。对直接用官方预编译包的用户则基本无感,因为附带的二进制已包含相应支持。

另外这次发布文档里明确标注了macOS Apple Silicon的KleidiAI版本和openEuler的ASCEND版本被禁用,分别关联到外部PR 240和 237 的问题,如果你是这两类平台用户,更新前需要自行评估,别直接照搬旧配置。

llama.cpp发布b10876版本,核心改动是在CUDA后端用GGML_FA_QUANTS替换GGML_FA_ALL_QUANTS,让用户更细粒度地控制编译哪些量化组合的Flash Attention内核。未编译的组合在运行时将自动回退到普通实现,并打印警告。

构建与运行时行为变化

此次改动来自PR #28079,由Johannes Gäßler审核并合作完成。新标志GGML_FA_QUANTS取代了原来的GGML_FA_ALL_QUANTS,开发者可以指定要编译的FA量化组合,而不再强制全量编译。官方表示这样能减少编译时间和二进制体积。

如果某个组合未被编译,程序不会直接报错,而是会在运行时回退并用警告提示用户,从而避免不兼容崩溃。

  • 新增GGML_FA_QUANTS用于配置Flash Attention量化组合。
  • 删除了原有的GGML_FA_ALL_QUANTS全量编译标志。
  • 更新了docs/build.md构建文档,说明如何配置各个组合。

信息来源

llama.cpp Releases原始来源