b11986: opencl: initial support for iq2 (#31267)
llama.cpp 的 OpenCL 後端在提交 b11986(PR #31267)中加入 IQ2 量化的初始支援,覆蓋 IQ2_S、IQ2_XS、IQ2_XXS 三種格式。每種格式都新增了 AOS 與 SOA 矩陣向量乘、tiled matmul,以及面向 Adreno GPU 的 noshuffle gemm/gemv 與 dp4a 路徑。三種格式在 Adreno 上的解碼與窄 batch 也分別做了最佳化。改動由高通工程師 Hongqiang Wang 參與共同編寫;
llama.cpp 的 OpenCL 後端首次納入 IQ2 系列,併為 Adreno 補齊 noshuffle 與 dp4a 核心,對在高通 GPU 上跑本地量化模型的人最有用。
原標題:b11986: opencl: initial support for iq2 (#31267)
閱讀原文
| 評分 | 55 / 60(平均 57,門檻 60) |
|---|---|
| 狀態 | 未入選 |
原文
相關報導
llama.cpp 為 OpenCL 後端加入 Q2_K 量化支援
llama.cpp 建置 b11873 為 OpenCL 後端加入了 Q2_K 量化的初步支援,重點面向驍龍 Adreno GPU。新增 mul_mv_q2_k_f32、q2_k 的 SOA mv 與 tiled mm kernel,並針對 Adreno 補充 noshuffle gemm/gemv 與 dp4a gemm 後完成調優,高通工程師參與共同提交。
llama.cpp OpenCL 新增 Adreno q4_K 分塊 GEMM
llama.cpp 在 b11971 建置中為 OpenCL 後端新增面向 Adreno GPU 的分塊 q4_K GEMM,並讓 batch 大於 1 時的分塊 q4_K lm_head 通過分塊 GEMM 執行。改動還把分塊 dp4a q4_K GEMM 拆到獨立檔案,並補充 dp4a 測試;提交由 Qualcomm 工程師共同署名,標註 Codex 輔助。
llama.cpp 修復 Adreno OpenCL 的 q8_0 dp4a MoE 計算錯誤
llama.cpp 建置 b11620 修復了 OpenCL 後端 q8_0 dp4a 路徑下 MoE 矩陣乘法(MUL_MAT_ID)與 GEMM 的最小值處理錯誤,避免量化 MoE 模型在 GPU 上算出錯誤結果。同一批改動還讓 Adreno GPU 直接拒絕 PREC_F32 的 MUL_MAT_ID,不再走不支援的精度路徑。
llama.cpp 為 OpenCL 新增 cooperative-k dp4a GEMM
llama.cpp 建置 b11741 在 OpenCL 後端為 q4_0、q4_k、q6_k 三種量化格式加入 cooperative-k dp4a GEMM,並修復對齊問題。這意味著在 OpenCL 上執行這些 4bit、6bit 量化模型的裝置可以用上新的矩陣乘實現。該版本同時更新了 macOS、Linux、Windows、Android 多平台建置,覆蓋 CUDA 12/13、ROCm 10.0、Vulkan、SYCL 等後端。
llama.cpp 為 OpenCL 新增 dp4a GEMM 變體並重新命名核心
llama.cpp 建置 b11789 為 OpenCL 後端新增支援向量化啟用載入的 dp4a GEMM 變體,用於提升量化矩陣乘的推理效率,同時重新命名了相關核心與環境變數。