
Misc. bug: Performance from sycl with server-intel on Qwen 3.6 dropped from 32t/s to 25t/s after update server-intel-b9159
快速结论:在 Intel Arc 显卡(如 Arc Pro B50)上使用 Docker 镜像 `server-intel-b9159` 运行 Qwen 3.6 模型时,推理性能从 32.8 t/s 下降至 25.8 t/s(约 21% 性能损失)。优先排查 Docker 镜像中 Intel GPU 驱动栈版本,特别是 `libze-intel-gpu1` 的版本是否被回退。
问题场景
用户通过 Docker Compose 部署 ghcr.io/ggml-org/llama.cpp:server-intel 镜像,使用 SYCL 后端在 Intel Arc Pro B50 显卡上运行 Qwen 3.6 35B 模型(Q4_K_XL_MTP 量化)。镜像从 server-intel-b9144 更新到 server-intel-b9159 后,推理吞吐量出现明显下降。
报错原文
# 无显式报错,仅是性能退化
# b9144: 32.8 t/s
# b9159: 25.8 t/s
原因分析
经过代码审查和二分调试,确认性能下降不是由 llama.cpp 源码变更引起,而是由 Docker 构建过程中的提交 0f45f1a35(”docker: revert stable version of intel compute-runtime”)导致。该提交将 Intel GPU 驱动栈中的关键包降级:
libze-intel-gpu1从 26.14.37833.4 降至 25.40.35563.10intel-igc-core/intel-igc-opencl从 2.32.7 降至 2.20.5intel-opencl-icd从 26.14.37833.4 降至 25.40.35563.10libigdgmm12从 22.9.0 降至 22.8.2
通过选择性重装包测试,确定 libze-intel-gpu1 从 25.40 升至 26.14 是恢复性能的关键(需同时升级 IGC 以满足依赖关系,但 IGC 本身对性能无明显影响)。
注意: 此回退是由于较新驱动在双 GPU 场景下存在回归问题(#21747),且 Intel compute-runtime 的 issue #921 和 XE 内核驱动问题(#8022)仍在修复中。
环境排查
- 确认使用的 Docker 镜像标签(b9144 vs b9159)
- 确认显卡型号(Intel Arc Pro B50 / Battlemage)
- 确认 Docker 环境变量:
ONEAPI_DEVICE_SELECTOR=level_zero:0、GGML_SYCL_ENABLE_FLASH_ATTN=1 - 检查 GPU 驱动包版本(通过
dpkg -l | grep intel-) - 验证是否为单 GPU 环境(此问题主要影响单显卡用户)
解决步骤
- 对于单 GPU 用户(优先尝试): 在 Docker Compose 中添加自定义
entrypoint,启动时动态升级libze-intel-gpu1和 IGC 版本:
entrypoint:
- /bin/sh
- -c
- |
INTEL_LIB=$(find /opt/intel/oneapi/compiler -name "libsvml.so" 2>/dev/null | head -1 | xargs -r dirname)
export LD_LIBRARY_PATH=/app:${INTEL_LIB}:${LD_LIBRARY_PATH:-}
IGC=v2.32.7
IGC_FULL=2_2.32.7+21184
NEO=26.14.37833.4
NEO_FULL=26.14.37833.4-0
mkdir -p /tmp/neo && cd /tmp/neo
wget -q https://github.com/intel/intel-graphics-compiler/releases/download/$IGC/intel-igc-core-${IGC_FULL}_amd64.deb
wget -q https://github.com/intel/intel-graphics-compiler/releases/download/$IGC/intel-igc-opencl-${IGC_FULL}_amd64.deb
wget -q https://github.com/intel/compute-runtime/releases/download/$NEO/libze-intel-gpu1_${NEO_FULL}_amd64.deb
dpkg --force-overwrite -i *.deb
exec /app/llama-server "$@"
- --
command: >
--model /models/Qwen3.6-35B-A3B-UD-Q4_K_XL_MTP.gguf
--host 0.0.0.0
--port 8081
--ctx-size 131072
--threads 8
--no-mmap
--temp 0.6
--top-p 0.95
--top-k 20
--min-p 0.0
--presence-penalty 0.0
--repeat-penalty 1.0
--n-predict 32768
- 等待官方修复: 跟踪
ggml-org/llama.cpp仓库中.devops/intel.Dockerfile的更新,等待重新将libze-intel-gpu1和 IGC 版本提升至 26.14 / 2.32.7(或更高兼容版本)。 - 临时降级镜像: 如果问题紧急且不需要多 GPU 支持,可暂时回退到
server-intel-b9144镜像。
验证方法
启动容器后,通过查看启动日志中是否出现 build_info: b9159-... 确认使用的镜像。通过 docker exec 进入容器执行 dpkg -l | grep libze-intel-gpu1 确认驱动版本为 26.14。运行推理请求,对比更新前后的 tokens/s 吞吐量是否恢复到 32 t/s 左右。
参考来源
ggml-org/llama.cpp #23160
关联 Issue:#21747(双 GPU 回归)
上游跟踪:intel/compute-runtime #921、XE Kernel #8022



![[Bug]: LiteLLM Bedrock Batch Support Incomplete](https://www.chat-gpts.plus/wp-content/uploads/2026/06/15563-f92c88d7-768x403.jpg)