llama.cpp 更新:Hexagon 後端支援通用維度摺疊與重塑
llama.cpp 發布 b11875 建置,Hexagon 後端把通用的維度摺疊與重塑(collapse/reshape)擴充套件到 unary、binary 與 matmul 運算元(#31071)。hex-unary 的摺疊邏輯在 nrows 較小時也會進行拆分,摺疊統一改由 host 處理並通用化,同時移除了遺留的 unary helper。hex-tools 的 profile.py 新增 --compare 選項。
原標題:b11875
閱讀原文
| 評分 | 45 / 40(平均 42,門檻 60) |
| 狀態 | 未入選 |
|---|
原文
hexagon: generic dims collapse/reshape for unary, binary and matmul ops ( #31071 )
hex-tools: support for --compare option in the profile.py
hex-unary: improve collapse logic to also do splits if nrows is small
hex-colapse: handle all colapsing at the host and make it generic
hex-colapse: remove leftover unary helper
Website:
https://llama.app
Attestations:
https://github.com/ggml-org/llama.cpp/attestations/59627940
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 releasesAI 評分42
llama.cpp 發布新建置 b11976,重點改進了 Hexagon NPU 後端的 IM2COL:按輸出列分塊,並用 HVX 做多執行緒並行;同時修復 padding 處理,並對常見情形做了迴圈展開。該改動由高通 Max Krasnyansky 共同署名,提交資訊註明由 Claude Opus 5.5 協助。
llama.cpp releasesAI 評分39
llama.cpp 發布建置 b12024,主要程式碼改動是把 LFM 多模態(mm)的重塑操作改為在 2D 而非 3D 張量上進行。其餘為該版本的多平台建置產物清單:macOS Apple Silicon 與 Intel、iOS XCFramework、Linux(CUDA 12/13、ROCm 10.0、Vulkan、SYCL、OpenVINO、s390x)、Android、Windows 及 openEuler。
llama.cpp releasesAI 評分43
llama.cpp b11490 把 Hexagon 後端的預設動態緩衝從 128MB 提升到 512MB,原因是 128MB 在大 MoE 模型上會導致效能退化。hex-bufs 新增 alloc_buffer_n 支援,並可將大張量拆分到獨立緩衝區;環境變數 GGML_HEXAGON_MBUF 改為接受 dyn、static、total 三個值。hex-run 還新增 --no-embd-offload 選項,用於簡化需要該設定的裝置上的命令列。
llama.cpp releasesAI 評分46
llama.cpp 發布 b11751 建置,Hexagon 後端升級到 snapdragon-toolchain v0.8,並將架構版本上限提升至 v85。CI 和建置指令碼同步換用新工具鏈,程式碼命名改為 snake_case,並清理了殘留的舊工具鏈引用。此外,新增一個小型 Python 指令碼來處理部分 IoT 裝置所需的 swiv;hex-target 的建置與執行指令碼現已支援在 Ubuntu 上通過 adb 傳輸。
llama.cpp releasesAI 評分40
llama.cpp 建置版本 b11500 發布,主要變更是 hex-mmadd 在融合 bias-add 時不再假設讀寫記憶體對齊(#30133)。