llama.cpp 最佳化 SYCL:Intel Arc Pro B70 提示詞評估提速 19%
llama.cpp 合併了 SYCL 後端補丁,在 Intel Arc Pro B70 上讓 -sm tensor 的 prompt eval 速度提升 19%,困惑度(PPL)沒有變化。
原標題:b12048
閱讀原文
| 評分 | 45 / 45(平均 45,門檻 60) |
| 狀態 | 未入選 |
|---|
原文
sycl : fast ggml_sycl_comm_exchange() on Intel Arc Pro B70s ( #30956 )
Update ggml-sycl.cpp
Increases -sm tensor prompt eval t/s by +19% with zero PPL change.
Update ggml-sycl.cpp
Replace first pair of wait() calls with ext_oneapi_submit_barrier(). The wait() calls was discovered to cause MTP degradation.
Update ggml-sycl.cpp
Adding comm_exchange function pointer to switch between 2 and 4 buffer ggml_sycl_comm_exchange versions @ initialization time (versus hot path) controlled by SYCL_ENABLE_DEFAULT_CONTEXTS=1 setting.
Update ggml-sycl.cpp
adding back 2nd half of 4-buffer free.
Update ggml-sycl.cpp
Removing extra whitespace.
Update ggml-sycl.cpp
Excluding Windows until it is validated on Windows.
Website:
https://llama.app
Attestations:
https://github.com/ggml-org/llama.cpp/attestations/62716367
macOS/iOS:
macOS Apple Silicon (arm64)
macOS Apple Silicon (arm64, KleidiAI enabled) DISABLED
macOS Intel (x64)
iOS XCFramework
Linux:
Ubuntu x64 (CPU)
Ubuntu arm64 (CPU)
Ubuntu s390x (CPU)
Ubuntu 26.04 s390x (CPU)
Ubuntu 26.04 s390x (zDNN)
Ubuntu x64 (Vulkan)
Ubuntu arm64 (Vulkan)
Ubuntu x64 (CUDA 12) - CUDA 12.8 libraries
Ubuntu x64 (CUDA 13) - CUDA 13.4 libraries
Ubuntu arm64 (CUDA 13) - CUDA 13.4 libraries
Ubuntu x64 (ROCm 10.0)
Ubuntu x64 (OpenVINO)
Ubuntu x64 (SYCL FP32)
Ubuntu x64 (SYCL FP16)
Linux arm64 (Snapdragon: CPU, Adreno GPU, Hexagon NPU) - setup guide
Android:
Android arm64 (CPU)
Android arm64 (Snapdragon: CPU, Adreno GPU, Hexagon NPU) - setup guide
Windows:
Windows x64 (CPU)
Windows arm64 (CPU)
Windows arm64 (OpenCL Adreno)
Windows x64 (CUDA 12) - CUDA 12.4 DLLs
Windows x64 (CUDA 13) - CUDA 13.4 DLLs
Windows arm64 (CUDA 13) - CUDA 13.4 DLLs
Windows x64 (Vulkan)
Windows arm64 (Vulkan)
Windows x64 (OpenVINO)
Windows x64 (SYCL)
Windows x64 (ROCm 10.0)
openEuler:
DISABLED
openEuler x86 (310p)
openEuler x86 (910b, ACL Graph)
openEuler aarch64 (310p)
openEuler aarch64 (910b, ACL Graph)
UI:
UI
相關報導
llama.cpp releases● 精選AI 評分67
llama.cpp 的 SYCL 後端為 IQ3_S/IQ3_XXS 加入持久化權重重排,在 Intel Arc Pro B70 上解碼速度最高提升 82%。權重在載入時只重排一次,MMVQ 點積改用 dp4a 與 SWAR 符號擴充套件遍歷稠密超級塊,重排感知的反量化也接入批次 prefill 的 GEMM。
llama.cpp releases● 精選AI 評分68
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 releasesAI 評分42
llama.cpp 發布 b11706,修復 SYCL 後端在 Q4_0/Q8_0 權重重排後出現的 prompt 處理迴歸(#30374)。該版本同時更新各平台預編譯包,覆蓋 macOS、Linux、Windows、Android,含 CUDA 12/13、Vulkan、ROCm 10.0、OpenVINO 與驍龍 CPU/Adreno GPU/Hexagon NPU 等後端。
llama.cpp releasesAI 評分58
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 打包與裝置複製重疊,只在複用槽位時等待;
llama.cpp releasesAI 評分58
llama.cpp 的 SYCL 後端把多種量化格式的反量化寫回改為向量化儲存,MXFP4 MoE 20B 模型預填充提升 57%(pp2048)到 61%(pp512)。改動覆蓋 Q4_0、Q4_K、Q5_K、Q6_K、Q3_K、Q2_K、IQ3_XXS/IQ3_S 與 MXFP4,在 Arc Pro B70 上,重排佈局後的預填充分別提升約 6%–29%,其中 Q6_K 為 28.7%、IQ3 約 20%–21%。