Prhub

#53195 [ROCm][DI][CI] Enable WideEP Intranode tests

原始 PR 作者 lcskrishna 合并时间 2026-09-09 06:06 文件变更 4 提交数 4 评论 5 代码增减 +144 / -55

执行摘要

为 AMD 分布式推理 CI 启用 WideEP Intranode 测试并优化超时配置。

启用 WideEP Intranode 测试以确保在 AMD MI300 平台上 EP8/DP8 模式的分布式推理功能得到持续验证。同时,调整超时时间以解决多个 Buildkite 步骤在不同节点上并行运行时可能出现的慢速 NFS 问题,提升 CI 稳定性。

本 PR 是一个标准的 CI 配置增强,值得 快速浏览。其核心价值在于补充了 WideEP Intranode 模式的测试覆盖,这对确保 AMD MI300 平台上高级分布式推理功能的稳定性至关重要。建议关注 models.yaml 中新增的 ep: 配置细节,特别是 cudagraph_mode 和 compilation-config 的选择是否最优。对于维护 AMD 后端 CI 稳定性的团队成员,建议精读本 PR。

讨论亮点

PR 的评审过程非常简短且顺利。主要讨论点是作者分享了 DI CI 通过的链接,以及团队成员触发了 CI 运行。评审者 dllehr-amd 直接给予了批准。没有发现关于实现方案的技术争议或设计权衡讨论。

实现拆解

  1. 新增 WideEP Intranode 测试作业:在 pipeline-disagg.yaml 文件中,为每个模型(DeepSeek-V3、DeepSeek-R1-MXFP4、Kimi-K2.5-MXFP4、Kimi-K2.6-MXFP4、MiniMax-M3-MXFP8)在 1P1D 配置下新增了 WideEP 模式(WIDE_EP_MODE=1)的测试作业,分别测试 proxy 和 vllm-router 两种路由类型。这些作业被归类到新的 mi350 · disagg wide-EP intranode (EP8/DP8, 2 nodes) 分组中。
  2. 调整所有测试作业超时时间:将 pipeline-disagg.yaml 中所有已有测试作业(包括 1P1D 和 2P2D)的 timeout_in_minutes 从 120 统一提升至 180。这一调整覆盖了该文件中的所有测试步骤。
  3. 更新辅助脚本默认值:在 run-slurm-disagg-test.sh 中,将 TIME_LIMIT 的默认值从 02:00:00 更改为 03:00:00,以与新的 CI 步骤超时对齐。同时,从每个测试步骤的命令中移除了显式传递 SLURM_TIME_LIMIT=02:00:00 参数,使其使用脚本新的默认值。
  4. 为 WideEP 模式补充模型级配置:在 models.yaml 中,为所有模型(DeepSeek-V3、MiniMax-M3-MXFP8、DeepSeek-R1-MXFP4、Kimi-K2.5-MXFP4、Kimi-K2.6-MXFP4)新增了 ep:(Expert Parallel)模式的专用配置,包括预填充和解码阶段的参数(如 --gpu-memory-utilization、--enforce-eager、--compilation-config)。同时,为部分模型调整了环境变量(如为 DeepSeek-V3 和 DeepSeek-R1-MXFP4 新增 VLLM_ROCM_USE_AITER_FP8BMM: "false",为 MiniMax-M3-MXFP8 新增 VLLM_KV_CACHE_LAYOUT: "HND")。
  5. 清理 SLURM 模板:从 run_xPyD_disagg.slurm 中移除了硬编码的 #SBATCH --time=02:00:00 行,使时间限制完全由运行时参数 TIME_LIMIT 控制。
文件 模块 状态 重要度
.buildkite/amd-disagg/pipeline-disagg.yaml CI 管道 modified 5.29
.buildkite/amd-disagg/models.yaml 模型配置 modified 4.46
.buildkite/amd-disagg/run-slurm-disagg-test.sh 测试脚本 modified 2.69

关键源码片段

.buildkite/amd-disagg/models.yaml configuration

模型级配置文件,为所有模型新增了 `ep:` 模式专用的性能参数和环境变量,是 WideEP 测试能够运行的关键。

  - model: DeepSeek-V3
    env:
      VLLM_ROCM_USE_AITER: "1"
      VLLM_ROCM_USE_AITER_MLA: "1"
      VLLM_ROCM_USE_AITER_MOE: "1"
      VLLM_ROCM_USE_AITER_RMSNORM: "1"
      VLLM_ROCM_USE_AITER_FUSION_SHARED_EXPERTS: "0"
      VLLM_ROCM_USE_AITER_FP8BMM: "false" # 新增环境变量,用于 WideEP 模式下的特定内核配置。
    base_flags: "--trust-remote-code --kv-cache-dtype fp8"
    prefill:
      tp: "--gpu-memory-utilization 0.85"
      ep: "--gpu-memory-utilization 0.85 --enforce-eager" # 新增 Expert Parallel 模式的预填充配置。
    decode:
      tp: "--gpu-memory-utilization 0.85"
      ep: '--gpu-memory-utilization 0.75 --compilation-config {"cudagraph_mode":"FULL_DECODE_ONLY","custom_ops":["+quant_fp8"]}' # 新增 EP 模式解码配置,使用 FULL_DECODE_ONLY 模式。

评论区精华

没有提炼出高价值讨论线程

当前评论区没有形成足够清晰的争议点或结论,后续有更多讨论时会体现在这里。

风险与影响

  1. CI 资源消耗增加:新增了 10 个 WideEP Intranode 测试作业(5 个模型 * 2 种路由类型),将显著增加 AMD DI CI 的总体运行时间和资源占用。
  2. 超时设置的普适性:将所有作业的超时统一提升至 180 分钟,可能掩盖了某些作业本身的性能退化问题。需要观察后续 CI 稳定性。
  3. 模型配置正确性:models.yaml 中新增的 ep: 配置(如 cudagraph_mode 从 PIECEWISE 改为 FULL_DECODE_ONLY)需要确保与当前 vLLM 代码库在 AMD 平台上的行为一致,避免引入新的运行时错误。

本 PR 主要影响 vLLM 项目的 AMD 分布式推理持续集成管道。直接影响:CI 流水线中新增了 WideEP 模式的测试覆盖,提升了 AMD 平台上 EP/DP 特性的验证能力。间接影响:CI 作业数量和总运行时间增加,可能影响其他 CI 作业的排队和执行时间。团队影响:为 AMD 后端维护团队提供了更全面的分布式推理配置测试矩阵,有助于及早发现 WideEP 模式下的兼容性问题。

CI 资源消耗增加 超时配置变更

关联 Issue

未识别关联 Issue

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

完整报告

参与讨论