Prhub

#47480 [ROCm][CI] Adding qwen3 dp4 eplb

原始 PR 作者 AndreasKaratzas 合并时间 2026-07-03 08:58 文件变更 2 提交数 1 评论 0 代码增减 +25 / -0

执行摘要

ROCm CI 新增 Qwen3 DP4 异步 EPLB 测试

PR body 说明:Adds the Qwen3-30B-A3B FP8 DP4 async EPLB accuracy job to the ROCm AMD CI pipeline on the 4-GPU MI300 pool. The script now disables ROCm MoE padding when ROCm is detected, avoiding the EPLB failure mode seen on AMD.

该 PR 为常规 CI 覆盖补充,无复杂技术决策,无需精读。

讨论亮点

无 review 讨论,仅 khluu 批准且无评论。

实现拆解

  1. 配置 CI job:在 .buildkite/test-amd.yaml 中新增一个 CI job,标签为 "Qwen3-30B-A3B-FP8 DP4 Async EPLB Accuracy (4xH100-4xMI300)",使用 mi300_4 agent pool,4 GPU,超时 180 分钟,设置为可选(optional: true)。命令执行新建的测试脚本。
  2. 新增测试脚本:创建 .buildkite/scripts/scheduled_integration_test/qwen30b_a3b_fp8_dp4_async_eplb.sh,基于已有的 block sync EPLB 测试脚本改编,核心变化:
    • 添加 ROCm 检测逻辑(通过 rocm-smi 命令、/opt/rocm 目录或 ROCM_PATH 环境变量判断),若检测到 ROCm 则设置 VLLM_ROCM_MOE_PADDING=0 环境变量,禁用 MoE padding 以避免 EPLB 失败。
    • 使用 DP4(data-parallel-size 4)和异步 EPLB 配置(--eplb-config '{"window_size":20, "step_interval":100, "use_async":true}')。
  3. 测试内容:启动 vllm server 后,运行 GSM8K 评估脚本 tests/evals/gsm8k/gsm8k_eval.py,默认 1319 道题,阈值 0.8。
文件 模块 状态 重要度
.buildkite/test-amd.yaml CI 配置 modified 4.16
.buildkite/scripts/scheduled_integration_test/qwen30b_a3b_fp8_dp4_async_eplb.sh 测试脚本 modified 3.99

关键源码片段

.buildkite/scripts/scheduled_integration_test/qwen30b_a3b_fp8_dp4_async_eplb.sh test-coverage

新增的测试脚本,包含 ROCm 特定补丁(禁用 MoE padding)和 DP4 异步 EPLB 启动逻辑。

# Script: qwen30b_a3b_fp8_dp4_async_eplb.sh
set -euxo pipefail
​
# 检查是否运行在 ROCm 环境(通过多种方式检测)
if command -v rocm-smi &> /dev/null || [[ -d /opt/rocm ]] || [[ -n "${ROCM_PATH:-}" ]]; then
  # ROCm 上 MoE padding 会导致 EPLB 失败,故禁用它
  export VLLM_ROCM_MOE_PADDING=0
fi
​
# 启动 vllm server,使用 DP4 和异步 EPLB
VLLM_DEEP_GEMM_WARMUP=skip \
vllm serve "Qwen/Qwen3-30B-A3B-FP8" \
  --enforce-eager \
  --data-parallel-size 4 \
  --enable-expert-parallel \
  --enable-eplb \
  --all2all-backend "allgather_reducescatter" \
  --eplb-config '{"window_size":20, "step_interval":100, "use_async":true}' \
  --trust-remote-code \
  --max-model-len 2048 \
  --port "$PORT" &

评论区精华

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

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

风险与影响

风险极低。本次变更仅为 CI 配置和测试脚本的新增,不涉及生产代码。新增的测试为 optional,不会阻塞流水线。唯一风险是测试脚本中的 ROCm 检测逻辑可能误判,但检测条件较为保守,且禁用 MoE padding 仅影响 ROCm 环境,不干扰其他平台。

仅影响 ROCm CI 流水线,在 4-GPU MI300 pool 上新增一个可选的精度测试任务。对用户无影响,对系统无副作用。

关联 Issue

未识别关联 Issue

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

完整报告

参与讨论