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

llama.cpp b11413发布:Vulkan后端为量化K/V加入稀疏Flash Attention

该版本在Vulkan后端实现针对量化K/V的稀疏Flash Attention(PR #29639),并把稀疏FA的索引压缩改为单次扫描;发布说明由github-actions[bot] 署名,未附公开性能数据。

AI解读:提交说明显示实现由Claude协助(Assisted-by: Claude),发布说明来自github-actions[bot],未给出基准测试或速度对比数据。

索引压缩此前按掩码行分配一个工作组,按BLOCK_SIZE分块遍历并逐块做工作组扫描;解码时单个工作组需执行KV/1024次受barrier限制的迭代,在 128k单元规模下开销超过其所服务的稀疏注意力。

新方案把行拆成连续段:有子组时每个子组一段,用ballot计数配合合并访存;无子组时每线程一段,再对段计数做一次扫描得到各段的输出偏移,索引列表保持升序。

该版本按平台提供多种预编译包,涵盖macOS/iOS、Linux、Android、Windows,以及CPU、Vulkan、CUDA 12/13、ROCm 10.0、OpenVINO、SYCL等后端。

macOS Apple Silicon(启用KleidiAI)与openEuler构建在本次发布中标记为DISABLED,并分别指向PR #23780、PR #23705。

llama.cpp发布b11413版本,发布说明列出的主要变更是在Vulkan后端为量化K/V实现稀疏Flash Attention,对应PR #29639。

提交信息注明该工作由Claude协助(Assisted-by: Claude)。发布说明未提供性能基准或与稠密注意力的对比数据。

Vulkan稀疏Flash Attention与索引压缩改动

按发布说明,此次改动包含两部分:Vulkan后端的稀疏Flash Attention支持量化K/V,以及稀疏FA索引压缩改为单次扫描。

原有压缩方式对每个掩码行启动一个工作组,以BLOCK_SIZE为单位分块遍历该行,并对每个分块执行一次工作组扫描。说明称在解码场景下,这意味着一个工作组要执行KV/1024次受barrier限制的迭代,在 128k单元规模时,其开销超过它所要支撑的稀疏注意力本身。

新实现把行拆成连续段:在有子组的情况下每个子组一段,通过ballot计数配合合并访存;没有子组时则每线程一段。随后对段计数做一次扫描,得到每段的输出偏移。发布说明称索引列表保持升序。

  • 变更内容:Vulkan后端稀疏Flash Attention支持量化K/V(PR #29639)
  • 索引压缩:由每掩码行一个工作组、按BLOCK_SIZE分块逐块扫描,改为按连续段划分并单次扫描
  • 段划分方式:有子组时每子组一段,无子组时每线程一段
  • 发布说明称 128k单元时旧压缩方式的开销超过其服务的稀疏注意力
  • 索引列表保持升序

随版本提供的构建产物

b11413随附多平台预编译包。macOS/iOS方面提供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、arm64 OpenCL Adreno、CUDA 12.4/13.4、Vulkan、OpenVINO、SYCL、ROCm 10.0等包;UI单独提供压缩包。

  • macOS/iOS: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等
  • Android:arm64 CPU包与Snapdragon(CPU、Adreno GPU、Hexagon NPU)包
  • Windows:x64/arm64 CPU及CUDA 12.4、CUDA 13.4、Vulkan、OpenVINO、SYCL、ROCm 10.0等
  • 其他:UI压缩包;Linux arm64 Snapdragon与Android Snapdragon均附设置指南

被禁用的构建项

发布说明把部分构建标记为DISABLED。macOS Apple Silicon(启用KleidiAI)被禁用,指向PR #23780;openEuler下的x86(310p)、x86(910b, ACL Graph)、aarch64(310p)、aarch64(910b, ACL Graph)均标记为禁用,指向PR #23705。

  • macOS Apple Silicon(KleidiAI enabled):DISABLED,见PR #23780
  • openEuler x86(310p)、x86(910b, ACL Graph)、aarch64(310p)、aarch64(910b, ACL Graph):DISABLED,见PR #23705

信息来源

llama.cpp Releases原始来源