llama.cpp 為 Hexagon NPU 增加 VTCM 大小可覆蓋引數
llama.cpp 建置 b11913 把 Hexagon 後端的 VTCM 上限改為可通過 GGML_HEXAGON_VTCM_SIZE 覆蓋,並支援 K/M/G 單位字尾,同時移除了原先的 NTHREADS 上限項。該引數面向驍龍 Hexagon NPU 的本地推理,可按裝置實際 VTCM 容量調整。同批建置仍覆蓋 macOS、Linux、Windows、Android 上的 CPU、Vulkan、CUDA、ROCm、SYCL 等後端。
原標題:b11913
閱讀原文
| 評分 | 40 / 42(平均 41,門檻 60) |
|---|---|
| 狀態 | 未入選 |
原文
相關報導
llama.cpp 為 Hexagon 重排加上 NEON 向量化與多執行緒
llama.cpp 建置 b11790 為 Hexagon NPU 的權重重排(repack/tiling)加入 NEON 向量化與多執行緒支援:先實現 q4_0 的向量化 repack,再擴充套件到 q1/q2/f16 等型別,並補上簡單的分塊與執行緒化。改動由高通工程師參與提交,Hexagon 後端僅用於 Snapdragon 平台的 CPU、Adreno GPU、Hexagon NPU 建置;同批建置仍覆蓋 macOS、Linux、Windows、Android 各後端。
llama.cpp 更新:Hexagon NPU 的 IM2COL 改為分塊多執行緒 HVX 並行
llama.cpp 發布新建置 b11976,重點改進了 Hexagon NPU 後端的 IM2COL:按輸出列分塊,並用 HVX 做多執行緒並行;同時修復 padding 處理,並對常見情形做了迴圈展開。該改動由高通 Max Krasnyansky 共同署名,提交資訊註明由 Claude Opus 5.5 協助。
llama.cpp 為 Hexagon NPU 增加 q2_k 與 q3_k 量化支援
llama.cpp 合併 PR #29717,為 Hexagon 後端新增 q2_k 和 q3_k 兩種量化型別支援,並統一了 src1_row_size 的分配方式。該改動由高通工程師 Max Krasnyansky 參與提交,面向在驍龍 Hexagon NPU 上執行本地推理的使用者,相關建置覆蓋 Linux arm64 與 Android arm64 的 Snapdragon CPU、Adreno GPU、Hexagon NPU 組合。
llama.cpp b11489 加速 Hexagon NPU 的 Q6_K 權重反量化
llama.cpp 發布 b11489,為 Hexagon NPU 的 Q6_K 權重反量化帶來加速,做法是再增加 2 倍迴圈展開,改動由 OpenCode 協助完成。該版本繼續提供 macOS/iOS、Linux、Android、Windows 多平台預編譯包,Snapdragon 版本可分別使用 CPU、Adreno GPU 與 Hexagon NPU,Windows arm64 另有 OpenCL Adreno 建置;
llama.cpp 提升 Hexagon NPU 轉置 CONCAT 頻寬利用率
llama.cpp 新建置 b11981 最佳化了高通 Hexagon NPU 上轉置 CONCAT 的 DDR 頻寬利用率:把行塊大小翻倍、scratchpad 改為雙緩衝、src1 行分塊處理,並補齊 src1 的 VTCM stride 以分散 gather lane;類似的 vgather 最佳化也應用到 SSM_CONV 和 GDN。