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

llama.cpp发布b11981:优化Hexagon NPU转置CONCAT的DDR带宽利用

该版本由Max Krasnyansky参与提交,改动集中在Hexagon后端转置CONCAT与vgather两类算子:加大行块与暂存缓冲、对src1做分行分块、对VTCM步长补位以分散gather通道,并将vgather优化扩展到SSM_CONV和GDN。发布页同时照常提供各平台构建产物下载。

llama.cpp发布b11981版本。该版本的主要改动由提交 #31277 带入,提交说明为“hexagon: improve DDR bw utilization in transposed CONCAT”,即提升Hexagon后端转置CONCAT的DDR带宽利用率,提交者中包含Max Krasnyansky。

发布页由github-actions[bot] 生成,除说明改动外,同时提供macOS/iOS、Linux、Android、Windows等平台的构建产物下载链接;部分平台在页面中被标记为DISABLED。

转置CONCAT的四项调整

提交说明把转置CONCAT的改动拆为四点:将行块大小翻倍(double row block size)、将暂存缓冲翻倍(double buffer scratchpads)、对src1行做分块(chunked src1 rows),以及把src1的VTCM步长补位以分散gather通道(pad src1 VTCM stride to spread gather lanes)。这些改动的目标是让数据搬运更充分地利用DDR带宽。

  • double row block size for transposed CONCAT
  • double buffer scratchpads
  • chunked src1 rows in transposed concat
  • pad src1 VTCM stride to spread gather lanes

vgather优化扩展到两个算子

同一提交还将类似的vgather优化应用到SSM_CONV和GDN两个算子,提交说明中的表述为“hex-vgather: apply similar vgather opts to SSM_CONV and GDN”。发布说明未展开这两处改动的具体实现细节。

构建产物与平台状态

b11981的发布页列出多平台下载,覆盖macOS Apple Silicon与Intel、iOS XCFramework、Ubuntu(x64/arm64/s390x,含CUDA 12.8、CUDA 13.4、ROCm 10.0、OpenVINO、Vulkan、SYCL等变体)、Linux arm64骁龙版(CPU、Adreno GPU、Hexagon NPU)、Android arm64、Windows(CPU、CUDA、Vulkan、OpenVINO、SYCL、ROCm、OpenCL Adreno等)以及UI包。

页面中macOS Apple Silicon的KleidiAI启用版与openEuler各构建被标注为DISABLED。发布页未说明这些构建被禁用的原因。

  • macOS Apple Silicon(arm64, KleidiAI enabled):DISABLED
  • openEuler x86/aarch64的 310p与 910b构建:DISABLED
  • 骁龙平台提供CPU、Adreno GPU、Hexagon NPU三种后端对应的构建包

信息来源

llama.cpp Releases原始来源