RuntimeError: level_zero backend failed with error: 2147483646 (UR_RESULT_ERROR_UNKNOWN)

该报错出现在双 Intel Arc Pro B70(Battlemage)上以 vLLM XPU 后端跑 TP=2 时,Worker 初始化阶段触发 GP fault 并伴随 xe BCS 引擎 reset,返回 RuntimeError: level_zero backend failed wit

快速结论:该报错出现在双 Intel Arc Pro B70(Battlemage)上以 vLLM XPU 后端跑 TP=2 时,Worker 初始化阶段触发 GP fault 并伴随 xe BCS 引擎 reset,返回 RuntimeError: level_zero backend failed with error: 2147483646 (UR_RESULT_ERROR_UNKNOWN)。优先排查 XPU 运行时/内核版本与 XCCL/Level Zero 相关开关的组合。

适用环境:Ubuntu 24.04.4 LTS + HWE 内核 6.17.0-23;Intel Core Ultra 9 285K;2× Intel Arc Pro B70(GPU 0/1 均为 Intel(R) Graphics [0xe223]);PyTorch 2.10.0+xpu;Python 3.12.3;Level Zero loader 1.26.0、driver 25.48.36300.8-0;vLLM XPU kernels 0.1.4;容器镜像 intel/vllm:0.17.0-xpu。相关 Issue 标签为 bug、intel-gpu。

最快修复方案:暂无确认的一步修复方案。Issue 中后续验证显示,在升级到 vLLM main(commit 0c99629ed)+ vllm-xpu-kernels v0.1.7(PyTorch 2.11)后,叠加 CCL_ENABLE_SYCL_KERNELS=1UR_L0_V2_FORCE_DISABLE_COPY_OFFLOAD=1CCL_ALLREDUCE=ringUR_L0_USE_IMMEDIATE_COMMANDLISTS=0 等设置,可越过原始 Issue 描述的 init-time crash;这属于可优先尝试的路径,并非对所有环境的确认修复。

注意事项:上述组合在 64 并发、5 分钟 canary 中 256/256 请求成功、无 BCS reset,但是否长期稳定尚未定论;25.10 A/B 测试因宿主内核 mm/PTE/THP soft-lockup 被阻塞,不能作为对原 B70/XCCL 问题的证据。此外,叠加 post-v0.1.7 dev 内核的吞吐结果与 v0.1.7 基线基本持平(约 448 tok/s vs 444 tok/s),不要把它当成性能提升的结论。

问题场景

用户在 Ubuntu 24.04 + HWE 内核环境下,用 intel/vllm:0.17.0-xpu 容器在双 Intel Arc Pro B70(Battlemage)上运行 vLLM XPU 后端,并启用 TP=2 张量并行。原始 Issue 描述的是 VLLM::Worker 初始化阶段的 GP fault 与 xe BCS 引擎 reset 复现,并最终抛出 Level Zero backend 的未知错误。后续跟进中,用户在升级到 vLLM main(commit 0c99629ed,post-v0.20.0)+ vllm-xpu-kernels v0.1.7 后,重新测试 CCL_ENABLE_SYCL_KERNELS=1 时,WorkerProc init 已可越过原先的 init-time crash。

报错原文

RuntimeError: level_zero backend failed with error: 2147483646 (UR_RESULT_ERROR_UNKNOWN)

原因分析

该错误来自 Level Zero 后端返回 UR_RESULT_ERROR_UNKNOWN,说明底层统一运行时(UR)在调用 Level Zero 时遇到未归类的失败。结合 Issue 中出现的 GP fault 和 xe BCS 引擎 reset,可能原因包括:XPU 运行时/驱动层与 vLLM XPU kernels 版本之间不匹配;XCCL 通信路径(含 CCL_ENABLE_SYCL_KERNELSCCL_ALLREDUCE 等开关)在 Battlemage 双卡拓扑下触发的不稳定路径;Level Zero 命令列表或 copy offload 相关行为。Issue 中并未给出唯一根因,因此以上均为可能原因。

环境排查

  • 确认 vLLM 版本与镜像:Issue 原始环境为 intel/vllm:0.17.0-xpu;后续验证使用 vLLM main commit 0c99629ed(post-v0.20.0)。
  • 确认 vllm-xpu-kernels 版本:原始为 0.1.4;后续验证为 v0.1.7(及 post-v0.1.7 dev15 构建)。
  • 确认 PyTorch 版本:原始为 2.10.0+xpu;后续验证环境为 PyTorch 2.11。
  • 确认 XPU 运行时、Level Zero loader/driver 版本:原始环境为 XPU runtime 20250301、Level Zero loader 1.26.0、driver 25.48.36300.8-0。
  • 确认系统与内核:Ubuntu 24.04.4 LTS、HWE 内核 6.17.0-23-generic(25.10 使用相同内核字符串)。
  • 确认 GPU 拓扑与卡数:2× Intel Arc Pro B70,GPU 0/1 均为 [0xe223],Z890 cascaded switch、PCIe 5.0 x8。
  • 确认相关环境变量组合及是否启用 TP=2、SYCL kernels、XCCL ring allreduce 等。

解决步骤

  1. 先记录当前完整环境信息,便于与 Issue 中环境做比对;可使用 vLLM 的 collect_env.py 输出(Issue 正文展示了该输出结构)。
  2. 将 vLLM 与 vllm-xpu-kernels 升级到 Issue 后续验证所用的组合:vLLM main commit 0c99629ed、vllm-xpu-kernels v0.1.7(PyTorch 2.11),并基于该组合构建容器。
  3. 在 TP=2 场景下按 Profile A 基线设置稳定路径:CCL_ENABLE_SYCL_KERNELS=0,确认可长期稳定运行作为回退基线。
  4. 准备重新测试 CCL_ENABLE_SYCL_KERNELS=1 时,叠加 Issue 中列出的已知设置:ZE_AFFINITY_MASK=0,1VLLM_WORKER_MULTIPROC_METHOD=spawnCCL_TOPO_FABRIC_VERTEX_CONNECTION_CHECK=0TORCH_LLM_ALLREDUCE=1VLLM_USE_V1=1UR_L0_V2_FORCE_DISABLE_COPY_OFFLOAD=1CCL_ALLREDUCE=ringVLLM_XPU_ENABLE_XPU_GRAPH=1UR_L0_USE_IMMEDIATE_COMMANDLISTS=0
  5. 在 Qwen3-30B-A3B BF16 + --quantization fp8 dynamic、TP=2、--max-num-batched-tokens 2048 --enable-chunked-prefill --max-num-seqs 96 --gpu-memory-utilization 0.92 --max-model-len 8192 下启动服务。
  6. 用与 Issue 相同的基准命令验证:vllm bench serve --random-input-len 1500 --random-output-len 500 --num-prompts 256 --max-concurrency 64 --endpoint /v1/completions,观察能否越过 WorkerProc init 并持续获得成功请求。
  7. 若仍复现原始 GP fault + BCS reset,回退到 CCL_ENABLE_SYCL_KERNELS=0 的 Profile A 基线,并记录日志供进一步定位。

验证方法

以 64 并发运行基准,确认 WorkerProc init 不再抛出 sycl::ProgramManager::getOrCreateURProgram 类崩溃,且无 RuntimeError: level_zero backend failed with error: 2147483646 (UR_RESULT_ERROR_UNKNOWN)。Issue 中后续验证结果为 256/256 成功、0 失败、0 BCS reset,输出吞吐约 448 tok/s(与 CCL_ENABLE_SYCL_KERNELS=0 基线的 444 tok/s 基本持平),峰值 GPU 温度约 66°C。若你的环境也满足这些条件,可认为已越过该 init-time crash;但这不等于原始 B70/XCCL 问题已被彻底修复。

参考来源

vllm-project/vllm #41663

GamsGo AI

AI 工具推荐

想把多个 AI 模型放在一个入口?

GamsGo AI 集成 ChatGPT、DeepSeek、Gemini、Claude、Midjourney、Veo 等常用模型,适合写作、绘图、视频和日常 AI 工作流。

了解 GamsGo AI

推广链接:通过此链接购买,我可能获得佣金,不影响你的价格。

这个方案解决了吗?

celebrityanime
celebrityanime
文章: 24674

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注