Prhub

#50236 [XPU] update warning of XPU Graph

原始 PR 作者 zhenwei-intel 合并时间 2026-08-06 14:33 文件变更 2 提交数 6 评论 3 代码增减 +31 / -7

执行摘要

更新 XPU Graph 警告并新增 Intel CI 测试

PR body 说明:升级 oneAPI 2026.0(PR#48677)后,之前的内存与 Flash Attention 仅支持 piecewise 模式的问题已解决;XPU Graph 仍只支持 single-GPU 执行,因此需要更新启动警告,避免向用户展示过时的限制信息。同时补充 CI 冒烟测试,持续监测 XPU Graph 的可用性。

该 PR 改动小、风险低,适合快速浏览。值得注意的是,它体现了 XPU Graph 在 oneAPI 2026.0 下的能力边界(单 GPU 可用、多 GPU/MXFP8 待支持),并建立了对应的 Intel CI 回归入口;对跟进 XPU 支持状态的工程师有参考价值。

讨论亮点

本 PR 来自 fork,自动化 review(claude[bot])被禁用,bot 提示维护者可手动触发;维护者 jikunshang 直接两次 APPROVED,并在 Issue 评论区触发 /ci run 验证(Buildkite CI #82619)。没有出现实质性技术争议,属于小范围维护变更。

实现拆解

  1. 精简警告文案(vllm/platforms/xpu.py):在 XpuPlatform.check_and_update_config 中,把启用 XPU Graph 分支的 logger.warning_once 从三条限制(single-GPU、Flash Attention PIECEWISE、显存占用)简化为仅提示 single-GPU;因为 oneAPI 2026.0 已解决 Flash Attention 模式与显存占用问题。
  2. 新增 CI 冒烟任务(.buildkite/intel_jobs/test-intel.yaml):添加 label 为 "XPU Graph" 的 Buildkite 步骤,设置 VLLM_XPU_ENABLE_XPU_GRAPH=1,依次运行 Qwen3-0.6B 基础离线推理、Qwen3-0.6B --kv-cache-dtype fp8、以及 MXFP4 的 Qwen3-30B-A3B 模型推理。
  3. 配置触发依赖:source_file_dependencies 指向 vllm/compilation/、vllm/platforms/xpu.py、xpu_model_runner.py、xpu_worker.py 和本 YAML,保证相关代码变更自动触发该硬件测试。
  4. 预留不支持场景:MXFP8 + TP=2 的组合以注释形式暂留,并说明 multi-GPU/MXFP8 尚不支持,避免 CI 报错误导。
    测试配套:未新增 Python 单元测试,但通过 Buildkite 硬件 CI 覆盖真实运行路径。
文件 模块 状态 重要度
vllm/platforms/xpu.py 平台适配 modified 5.14
.buildkite/intel_jobs/test-intel.yaml 构建配置 modified 4.27

关键符号

check_and_update_config

关键源码片段

vllm/platforms/xpu.py core-logic

核心源码改动:更新 XPU Graph 启用时的警告文案,反映 oneAPI 2026.0 后的能力边界。

@classmethod
def check_and_update_config(cls, vllm_config: VllmConfig) -> None:
    # 惰性导入,避免循环依赖
    from vllm.config import CUDAGraphMode
​
    compilation_config = vllm_config.compilation_config
    if compilation_config.compile_sizes is None:
        compilation_config.compile_sizes = []
​
    from vllm.utils.torch_utils import supports_xpu_graph
​
    if not supports_xpu_graph():
        # 当前 PyTorch 版本不支持 XPU Graph,直接关闭 cudagraph 模式
        compilation_config.cudagraph_mode = CUDAGraphMode.NONE
        logger.warning_once(
            "XPU Graph is not supported in the current PyTorch version, "
            "disabling cudagraph_mode."
        )
    elif not envs.VLLM_XPU_ENABLE_XPU_GRAPH:
        # 用户未显式开启,保持关闭并提示如何启用
        compilation_config.cudagraph_mode = CUDAGraphMode.NONE
        logger.warning_once(
            "XPU Graph is disabled by environment variable, "
            "please set VLLM_XPU_ENABLE_XPU_GRAPH=1 to enable it."
        )
    else:
        # oneAPI 2026.0 后 Flash Attention 与显存问题已解决,
        # 当前仅剩 single-GPU 限制需要提示
        logger.warning_once(
            "XPU Graph support is experimental and currently only supports "
            "single-GPU execution."
        )

评论区精华

自动化 review 状态与 CI 触发 other

claude[bot] 指出 PR 来自 fork,自动 review 被禁用;jikunshang 在 Issue 评论区发起 /ci run,由 github-actions[bot] 触发 Buildkite CI #82619。

结论:无实质技术讨论,维护者直接 APPROVED,CI 验证通过后合并。 · 已解决

风险与影响

  1. 警告文案精简后,若 oneAPI 2026.0 下仍存在某些环境的内存问题,用户可能得不到提前提示;该判断依赖 PR#48677 的验证结果。
  2. 新增 CI 任务依赖 Intel GPU 硬件队列(mem 32+),若现场资源不足可能排队或超时;且 INCModel 权重需要外网下载,存在网络 flaky 风险。
  3. 无新增单元测试,仅靠 CI 回归覆盖 XPU Graph 主路径。
  4. 代码逻辑本身仅改动日志字符串,回归风险极低。

用户影响:XPU 用户启动时看到的 XPU Graph 警告更准确,不再提示已解决的 Flash Attention / 显存限制。系统影响:Buildkite Intel 队列新增一个约 60 分钟上限的冒烟任务,略微增加 CI 资源消耗。团队影响:为 Intel XPU 团队建立了 XPU Graph 回归入口,后续相关改动会自动触发验证。

警告文案依赖 oneAPI 2026.0 验证结果 新 CI 任务依赖 Intel 硬件队列 MXFP8/ 多 GPU 场景仍无覆盖 无新增单元测试

关联 Issue

未识别关联 Issue

当前没有检测到明确关联的 Issue 链接,后续同步到相关引用后会出现在这里。

完整报告

参与讨论