AISpot

llama.cpp 為 Hexagon NPU 多核 flash attention 加入 KV 頭拆分

llama.cpp releases版本更新地端推論開源

llama.cpp 新建置 b11868 給驍龍 Hexagon NPU 的多核 HMX flash attention 加入了 KV 頭分組拆分,並把原來的 FA_HEAD_SPLIT 與 FA_SPLIT 兩套開關合併為單一開關 GGML_HEXAGON_FA_SPLIT。設為 0 時只做 token 拆分;

原標題:b11868
閱讀原文

評分47 / 45(平均 46,門檻 60)
狀態未入選

原文

hexagon: KV-head team split for multicore HMX flash attention ( #31055 ) hexagon: KV-head team split for HMX flash attention in multicore hexagon: merge FA_HEAD_SPLIT and FA_SPLIT into single GGML_HEXAGON_FA_SPLIT flag 0 = off (token-split only); 1 = head-split, plus team-split when n_kv_heads < N_cores so stranded cores still participate (e.g. gemma-4 with 2 KV heads on 4 cores). Where heads divide evenly across cores, plain head-split is used. Website: https://llama.app Attestations: https://github.com/ggml-org/llama.cpp/attestations/59473086 macOS/iOS: macOS Apple Silicon (arm64) macOS Apple Silicon (arm64, KleidiAI enabled) DISABLED macOS Intel (x64) iOS XCFramework Linux: Ubuntu x64 (CPU) Ubuntu arm64 (CPU) Ubuntu s390x (CPU) Ubuntu x64 (Vulkan) Ubuntu arm64 (Vulkan) Ubuntu x64 (CUDA 12) - CUDA 12.8 libraries Ubuntu x64 (CUDA 13) - CUDA 13.4 libraries Ubuntu arm64 (CUDA 13) - CUDA 13.4 libraries Ubuntu x64 (ROCm 10.0) Ubuntu x64 (OpenVINO) Ubuntu x64 (SYCL FP32) Ubuntu x64 (SYCL FP16) Linux arm64 (Snapdragon: CPU, Adreno GPU, Hexagon NPU) - setup guide Android: Android arm64 (CPU) Android arm64 (Snapdragon: CPU, Adreno GPU, Hexagon NPU) - setup guide Windows: Windows x64 (CPU) Windows arm64 (CPU) Windows arm64 (OpenCL Adreno) Windows x64 (CUDA 12) - CUDA 12.4 DLLs Windows x64 (CUDA 13) - CUDA 13.4 DLLs Windows arm64 (CUDA 13) - CUDA 13.4 DLLs Windows x64 (Vulkan) Windows arm64 (Vulkan) Windows x64 (OpenVINO) Windows x64 (SYCL) Windows x64 (ROCm 10.0) openEuler: DISABLED openEuler x86 (310p) openEuler x86 (910b, ACL Graph) openEuler aarch64 (310p) openEuler aarch64 (910b, ACL Graph) UI: UI

相關報導

llama.cpp releases● 精選AI 評分68

llama.cpp Hexagon 的 flash_attn 改為按 KV 頭切分

llama.cpp 的 Hexagon 後端在 row-split 多核模式下把 flash_attn 從按 Q token 切分改為按 KV head 切分,讓每個核心只讀自己負責的那部分 KV cache,不再重複讀取全部 KV cache。該行為由 GGML_HEXAGON_FA_HEAD_SPLIT 控制,預設開啟;當 n_kv_heads 不能被核心數整除時回退到原 token-block 切分(如 4 核上只有 2 個 KV head 的 Gemma-4)。

llama.cpp releases● 精選AI 評分68

llama.cpp 為 Metal 新增 F16 KV 張量 API flash attention 核心

llama.cpp 合併 PR #29570,在 Metal 後端為 F16 KV 快取加入基於張量 API 的 flash attention 核心。該核心覆蓋 DK=DV=512、DK=576/DV=512、DK=192/DV=128 等配置,並支援 attention sinks、ALiBi 與 logit softcap。改動隨 b11362 建置發布,覆蓋 macOS Apple Silicon、iOS 及 Linux、Windows、Android 等多平台建置。

llama.cpp releasesAI 評分40

llama.cpp b11696 修正 Hexagon HMX FA sinks

llama.cpp 新建置 b11696 修正了 Hexagon NPU 上 HMX 核心的 flash attention sink 計算,並把 sinks 做了向量化,提交由高通工程師 Max Krasnyansky 參與。該版本照例給出 macOS/iOS、Linux、Windows、Android、openEuler 的預編譯包,涵蓋 CPU、CUDA 12/13、Vulkan、ROCm 10.0、OpenVINO、SYCL 等後端;

llama.cpp releasesAI 評分45

llama.cpp b11723:Hexagon 快閃記憶體注意力支援長上下文與 SWA 模型

llama.cpp 發布 b11723 建置,Hexagon NPU 後端的 FLASH_ATTN_EXT 得到改進,可支援更長上下文與滑動視窗注意力(SWA)模型(#30731)。同一批改動還包括掩碼塊跳過以減少 DMA 取數、微調 hmx→hvx 切換閾值以提升 gemma-4 表現,以及讓 hmx 門控計入 mdev.count。