llama.cpp b12005 為 OpenCL 後端加入 q2_0 支援
llama.cpp b12005 為 OpenCL 後端加入初始 q2_0 支援,並針對 Adreno GPU 實現 AOS/SOA mv、tiled mm、noshuffle gemm/gemv 與 dp4a,同時最佳化 q2_0 在 Adreno 上的解碼和窄批次表現。相關提交由高通工程師參與,改動集中在 OpenCL 後端的 q2_0 核心與 Adreno 適配;
原標題:b12005
閱讀原文
| 評分 | 44 / 45(平均 44,門檻 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 的 OpenCL 後端新增 IQ2 系列量化,並針對 Adreno GPU 最佳化
llama.cpp 的 OpenCL 後端首次加入對 IQ2 系列 2-bit 量化(iq2_s、iq2_xs、iq2_xxs)的支援,並針對高通 Adreno GPU 做了專項最佳化。提交為每種量化型別補上了 AOS/SOA 矩陣向量乘、tiled matmul、noshuffle 的 GEMM/GEMV 與 dp4a 路徑,並最佳化了 Adreno 上的 decode 與窄批次場景。
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 等後端。