llama.cpp 為 OpenCL 後端加入 Adreno 深度卷積
llama.cpp 建置 b11827 在 OpenCL 後端新增 depthwise conv2d(深度卷積)支援,並針對 Adreno GPU 做了適配,可讓部分卷積類模型在驍龍 Adreno GPU 上以 OpenCL 加速執行。該改動還提到改用本地 program、引數改用有符號型別,貢獻者來自高通。
原標題:b11827
閱讀原文
| 評分 | 45 / 38(平均 41,門檻 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 修復 Adreno A6x 的 OpenCL 核心編譯崩潰並支援 623
llama.cpp 建置 b11533 修復了 Adreno A6x GPU 上的 OpenCL 核心編譯崩潰,並把 Adreno 623 加入 A6X 檢測列表。具體做法是在 A6X 上跳過 kernel_cpy_f32_f32_pack——A623 的編譯器後端(E031.50.31.01)無法處理引數過多的核心;GEMV 核心裡的 get_local_size 也加了常量摺疊變通方案。
llama.cpp 的 OpenCL 後端新增 IM2COL_3D 支援
llama.cpp 建置 b11797 為 ggml-opencl 後端加入 IM2COL_3D 支援,讓 OpenCL 路徑可以處理三維卷積的 im2col 展開。同一提交還統一了 kernel 與 host 端的資料型別,並修復了舊款 Adreno GPU 的相容問題;該改動由高通工程師參與提交。
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 後端新增 topk 與 lightning indexer
llama.cpp 的 OpenCL 後端新增 topk 與 lightning indexer 支援,並對兩者做了最佳化,還重構了 tiled topk kernel。這批改動隨建置 b11874 發布,覆蓋 macOS、iOS、Linux、Android、Windows 的預編譯包,含 CUDA 12/13、ROCm 10.0、Vulkan、SYCL、OpenVINO 與 Snapdragon 的 Adreno GPU、Hexagon NPU 版本。