开源llama.cpp Releases·原文 2026年11月3日

llama.cpp b12048优化Intel Arc Pro B70的SYCL通信交换,提示词评估速度提升 19%

该版本在Intel Arc Pro B70上重写ggml_sycl_comm_exchange():据提交说明,-sm张量提示词评估速度提升 19%,且PPL无变化;Windows平台暂被排除。

AI解读:提交说明称,在 -sm张量场景下提示词评估速度(t/s)提升 19%,PPL没有变化;该数字来自提交者的自测说明,尚未见独立复测。

实现上,用ext_oneapi_submit_barrier() 替换第一对wait() 调用,提交说明称原wait() 会导致MTP性能下降。

在初始化阶段通过SYCL_ENABLE_DEFAULT_CONTEXTS=1 设置,在 2 缓冲区与 4 缓冲区两种comm_exchange实现之间切换,而非在热路径中判断。

Windows平台被排除在本次改动之外,提交说明称需待Windows上验证后再纳入。

llama.cpp发布b12048版本,本次改动集中在SYCL后端:为Intel Arc Pro B70加速ggml_sycl_comm_exchange()(PR #30956)。

提交说明给出的性能数字与适用范围

提交说明称,该改动使 -sm张量场景的提示词评估速度(t/s)提升 19%,PPL无变化。这一数字来自提交者自述,发布说明未附独立复测或第三方评测。适用范围为Intel Arc Pro B70上的SYCL后端。

  • 速度提升:-sm张量提示词评估 +19%(提交者自述)
  • 质量影响:PPL无变化(提交者自述)
  • 硬件范围:Intel Arc Pro B70

实现方式的两处调整

提交说明列出两项具体改动。其一,把第一对wait() 调用替换为ext_oneapi_submit_barrier(),说明称原wait() 调用被发现有MTP性能下降问题。其二,在初始化阶段加入comm_exchange函数指针,在 2 缓冲区与 4 缓冲区两个版本之间切换,该切换由SYCL_ENABLE_DEFAULT_CONTEXTS=1 设置控制,不再放在热路径中判断。

此外,提交还包含补回 4 缓冲区释放的后半段以及移除多余空白等修改。

  • 以ext_oneapi_submit_barrier() 替换首对wait(),原因是wait() 导致MTP性能下降
  • 2/4 缓冲区版本在初始化时选定,由SYCL_ENABLE_DEFAULT_CONTEXTS=1 控制
  • 补回 4 缓冲区free的后半段

平台限制与发布产物

提交说明明确本次改动排除Windows,需待Windows上验证后再纳入。b12048的发布产物仍覆盖macOS、Linux(含CUDA 12/13、ROCm 10.0、Vulkan、OpenVINO、SYCL FP32/FP16等)、Android、Windows及UI等多个构建;其中SYCL相关构建为Ubuntu x64(FP32/FP16)与Windows x64(SYCL)。

  • Windows暂不包含本次SYCL改动
  • 发布产物含Ubuntu x64 SYCL FP32/FP16与Windows x64 SYCL构建
  • macOS KleidiAI版与openEuler构建在发布页标注为DISABLED

信息来源

llama.cpp Releases原始来源

更多

新闻专题
外观