llama.cpp 為 Hexagon NPU 加入 Q1_0 與 Q2_0 量化支援
llama.cpp 建置 b11716 為高通 Hexagon NPU 新增 Q1_0、Q2_0 兩種低位元量化的支援,其中 Q1_0 權重已可在 2D HMX MUL_MAT 路徑中啟用。同一批提交還改寫了分塊(tiling)實現、去掉迴圈內除法、最佳化 Q1_0 佈局以降低解包與 vrmpy 開銷,並修正 MUL_MAT_NX 對正方形分塊的假設,因為 Q1/Q2 使用非正方形分塊。
找到 5 筆
llama.cpp 建置 b11716 為高通 Hexagon NPU 新增 Q1_0、Q2_0 兩種低位元量化的支援,其中 Q1_0 權重已可在 2D HMX MUL_MAT 路徑中啟用。同一批提交還改寫了分塊(tiling)實現、去掉迴圈內除法、最佳化 Q1_0 佈局以降低解包與 vrmpy 開銷,並修正 MUL_MAT_NX 對正方形分塊的假設,因為 Q1/Q2 使用非正方形分塊。
llama.cpp 發布 b11715 建置,其中 ggml-cuda 的 HIP 後端在 q1_0 解包時改用 __builtin_amdgcn_perm 內建函式(commit #29927),面向 AMD ROCm 環境。
llama.cpp 建置 b11717 為高通 Hexagon NPU 後端加入 Hadamard 變換的 MUL_MAT 與 GET_ROWS,覆蓋 flat 與 tiled 兩種佈局的 Q1_0、Q2_0 量化,並新增 hex-hadamard 運算元。同一提交還減少了 q8_1 量化器與 vec_dot_q1 的資料包數量。
llama.cpp 合併 PR #29483,為 WebGPU 的 MMVQ 路徑新增 Q1_0、Q5_0、Q5_1、Q3_K、Q5_K、Q6_K 和 MXFP4 量化支援,併為 Q1_0 引入 K_QUANTS_HANDLING 宏。該改動擴充套件了 WebGPU 後端可加速的量化模型範圍,相關建置覆蓋 macOS、Linux、Windows、Android 及 openEuler 等多個平台。
llama.cpp 的 Metal 後端將通用 few-row MMA 矩陣乘法核心擴充套件到更多權重量化型別,BF16、Q1_0、Q2_0、MXFP4、Q2_K、Q3_K、TQ2_0 及 IQ 系列現已納入。該核心適用於任何帶 16-weight 反量化器的型別,各型別從在 M3 Ultra 上能勝過現有核心的行數起啟用:TQ2_0 為 5 行,BF16 為 4 行,MXFP4、Q2_0、Q2_K、IQ4_NL 為 3 行,其餘為 2 行。