AISpot

llama.cpp 提升 Hexagon NPU 轉置 CONCAT 頻寬利用率

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

llama.cpp 新建置 b11981 最佳化了高通 Hexagon NPU 上轉置 CONCAT 的 DDR 頻寬利用率:把行塊大小翻倍、scratchpad 改為雙緩衝、src1 行分塊處理,並補齊 src1 的 VTCM stride 以分散 gather lane;類似的 vgather 最佳化也應用到 SSM_CONV 和 GDN。

原標題:b11981
閱讀原文

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

原文

hexagon: improve DDR bw utilization in transposed CONCAT ( #31277 ) hex-concat: double row block size for transposed CONCAT hex-concat: double buffer scratchpads hex-concat: chunked src1 rows in transposed concat hex-concat: pad src1 VTCM stride to spread gather lanes hex-vgather: apply similar vgather opts to SSM_CONV and GDN Co-authored-by: Max Krasnyansky [email protected] Website: https://llama.app Attestations: https://github.com/ggml-org/llama.cpp/attestations/61192182 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 26.04 s390x (CPU) Ubuntu 26.04 s390x (zDNN) 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 releasesAI 評分48

llama.cpp b11433 為 Hexagon NPU 加入池化運算元支援

llama.cpp 新建置 b11433 在高通 Hexagon NPU 後端加入 pool 運算元支援,包含 pool_1d 與 pool_2d。同一批提交重寫了 DMA 流水線、加入池化分塊(pool chunking)、移除並向量化全部標量路徑,並最佳化 HTP 池化邊界、簡化分塊求解器與清理冗餘檢查。

llama.cpp releasesAI 評分42

llama.cpp 更新:Hexagon NPU 的 IM2COL 改為分塊多執行緒 HVX 並行

llama.cpp 發布新建置 b11976,重點改進了 Hexagon NPU 後端的 IM2COL:按輸出列分塊,並用 HVX 做多執行緒並行;同時修復 padding 處理,並對常見情形做了迴圈展開。該改動由高通 Max Krasnyansky 共同署名,提交資訊註明由 Claude Opus 5.5 協助。

llama.cpp releasesAI 評分43

llama.cpp b11574 最佳化 Hexagon NPU 複製與拼接運算元

llama.cpp 發布 b11574 建置,重點最佳化 Hexagon NPU 後端的 CPY/CONCAT 與 gather-rows 運算元:按 DMA 描述符分塊搬執行、加入雙緩衝與迴圈展開,緩解短行場景受 DMA 延遲拖累的問題,並支援 3/4 維維度摺疊。該版本還把 mdev 下 vtcm_acquire 的同步狀態全部改為原子操作,修復多裝置配置中的隨機卡死,並新增只建置/安裝 Hexagon 後端的選項。

llama.cpp releasesAI 評分45

llama.cpp 為 Hexagon NPU 增加 UPSCALE 運算元支援

llama.cpp 建置 b11982 在 Hexagon NPU 後端加入 UPSCALE 運算元,使驍龍平台上的影像放大可由 NPU 執行。相關 kernel 針對 nearest 2x、4x 與 bilinear 4x 做了最佳化,並支援非連續行與維度合併;同時改用 vgather 取代標量搬運,並把 kernel 選擇邏輯統一放到 host 端。新增的 permuted UPSCALE 測試覆蓋 qwen3-vl 影像轉文字場景。