b11902: sycl: add set_tensor_2d for faster tensor-split loading (#30358)
llama.cpp 的 SYCL 後端新增 set_tensor_2d:當目標行連續時,它把主機資料打包成最大 64 MiB 的塊上傳,避免逐行呼叫複製。在兩張 Arc Pro B70 上跑 gpt-oss-120b UD-Q4_K_XL,llama-perplexity 總耗時從 263–268 秒降到 114–115 秒。實現複用 pinned staging 槽位,讓 CPU 打包與裝置複製重疊,只在複用槽位時等待;
官方提交給出實測數字:雙 Arc Pro B70 上分片模型載入耗時接近減半,對在 Intel GPU 上跑大模型、常受載入時間拖累的人最直接有用。
原標題:b11902: sycl: add set_tensor_2d for faster tensor-split loading (#30358)
閱讀原文
| 評分 | 65 / 52(平均 58,門檻 60) |
|---|---|
| 狀態 | 未入選 |
原文
相關報導
llama.cpp SYCL 為 GLM MLA 預填充接入 MKL,pp8192 提速 2.99 倍
llama.cpp 的 SYCL 後端放行了 GLM-4.7 Flash 的 MLA 形狀走 MKL flash attention,此前該形狀因 K/V 寬度不一致、head dim 上限 512 被排程器拒絕,預填充只能回退到更慢的 TILE kernel。在 Intel Arc Pro B70 上,pp8192 從 432.80 提升到 1292.29 tok/s(2.99 倍,+198.6%),tg256 在噪聲範圍內基本不變(45.67 對 45.65)。
llama.cpp SYCL 後端為 IQ3 加持久權重重排,解碼提速最高 82%
llama.cpp 的 SYCL 後端為 IQ3_S/IQ3_XXS 加入持久化權重重排,在 Intel Arc Pro B70 上解碼速度最高提升 82%。權重在載入時只重排一次,MMVQ 點積改用 dp4a 與 SWAR 符號擴充套件遍歷稠密超級塊,重排感知的反量化也接入批次 prefill 的 GEMM。
llama.cpp b11496:SYCL 模型載入改用 pinned ring buffer
llama.cpp 發布 b11496,SYCL 後端的模型載入(bulk uploads)改為通過 pinned ring buffer 分階段上傳(PR #29608),主要影響使用 Intel SYCL 後端的使用者。
llama.cpp b11799 為 SYCL 後端加入 q8 快速反量化
llama.cpp 發布 b11799 建置,新增 SYCL 後端的 q8 快速反量化(#30775),可提升 Intel GPU 上量化模型的推理效率。該版本同時提供 macOS、Linux、Windows、Android 的多平台預編譯包,涵蓋 CUDA 12、CUDA 13、ROCm 10.0、Vulkan、OpenVINO 與 Snapdragon 的 CPU、Adreno GPU、Hexagon NPU 版本;SYCL 建置則分為 FP32 與 FP16 兩版。
llama.cpp 為 SYCL 後端最佳化 q4_K/q5_K 反量化
llama.cpp 建置 b11685 合入 #29696,為 SYCL 後端在 q4_K/q5_K 權重的反量化中加入寬儲存(wide stores),以提升該後端上的推理效率。該版本照常覆蓋 macOS/iOS、Linux、Android 與 Windows,含 CUDA 12/13、Vulkan、ROCm 10.0、OpenVINO、SYCL FP32/FP16 以及 Snapdragon 的 CPU、Adreno GPU、Hexagon NPU 等建置。