Prhub

#26609 [CI] Clean DeepSeek V4 tests and installation scripts

原始 PR 作者 Fridge003 合并时间 2026-05-29 06:22 文件变更 13 提交数 6 评论 5 代码增减 +66 / -198

执行摘要

清理 DeepSeek V4 测试和安装脚本

通过清理移除冗余安装脚本并统一测试注册,简化 DeepSeek V4 这类复杂模型的 CI 维护工作,便于后续扩展。

对于关注 CI 基础设施组织的读者值得精读,展示了如何通过删除冗余和统一命名来降低维护成本。

讨论亮点

该 PR 没有引起公开评论,由作者直接合并。

实现拆解

  1. 删除旧安装脚本:移除 scripts/ci/cuda/ci_install_dsv4_dep.sh,其功能被合并到更通用的 ci_install_deepep.sh 中,减少重复维护。
  2. 加强 DeepEP 安装脚本:在 ci_install_deepep.sh 中添加基于 CUDA 版本的计算能力选择逻辑,动态支持 Hopper (sm_90)、Blackwell (sm_100) 和未来 Blackwell (sm_103),避免硬编码。
  3. 统一测试注册键:将所有 DeepSeek V4 测试文件(如 test_deepseek_v4_flash_fp4_b200.pytest_deepseek_v4_flash_fp8_h200.py 等)中的注册键从 dsv4-* 改为 deepep-*,并将部分测试从 base-c 阶段移至 extra-b 阶段,降低常用 CI pipeline 负担。
  4. 更新 CI 工作流:修改 .github/workflows/pr-test.ymlpr-test-extra.yml,添加新的 job 和 runner 配置,确保新注册的测试能被正确调度。
  5. 调整 runner 配置与测试套件映射:更新 scripts/ci/runner_configs.ymltest/run_suite.py,使其与新测试阶段和 runner 名称保持一致。
文件 模块 状态 重要度
scripts/ci/cuda/ci_install_dsv4_dep.sh 部署脚本 removed 5.95
scripts/ci/cuda/ci_install_deepep.sh 部署脚本 modified 4.67
.github/workflows/pr-test.yml CI 工作流 modified 4.09
.github/workflows/pr-test-extra.yml CI 工作流 modified 4.1
test/registered/models_e2e/test_deepseek_v4_flash_fp4_b200.py 测试套件 modified 4.2
test/registered/models_e2e/test_deepseek_v4_flash_fp8_h200.py 测试套件 modified 4.2
scripts/ci/runner_configs.yml CI 配置 modified 3.25
test/run_suite.py 测试运行器 modified 3.49

关键源码片段

scripts/ci/cuda/ci_install_deepep.sh infrastructure

添加了多架构构建支持(Hopper/Blackwell),是 CI 基础设施的核心改进

# 构建 DeepEP 时根据 CUDA 版本动态选择计算能力
if [ -n "${NVCC_VER:-}" ]; then
  CUDA_VERSION="$NVCC_VER"
elif command -v nvcc >/dev/null 2>&1; then
  CUDA_VERSION=$(nvcc --version | grep -oP 'release \K[0-9]+\.[0-9]+')
else
  CUDA_VERSION=$(nvidia-smi | grep "CUDA Version" | head -n1 | awk '{print $9}' || true)
fi
if [ -z "${CUDA_VERSION:-}" ]; then
  echo "FATAL: 无法确定 CUDA 工具包版本"
  exit 1
fi
# 根据 CUDA 版本设置架构列表:sm_90=Hopper, sm_100=Blackwell, sm_103= 未来 Blackwell
if [ "$CUDA_VERSION" = "12.8" ]; then
  CHOSEN_TORCH_CUDA_ARCH_LIST='9.0;10.0'
elif awk -v ver="$CUDA_VERSION" 'BEGIN {exit !(ver > 12.8)}'; then
  CHOSEN_TORCH_CUDA_ARCH_LIST='9.0;10.0;10.3'
else
  CHOSEN_TORCH_CUDA_ARCH_LIST='9.0'
fi
TORCH_CUDA_ARCH_LIST="${CHOSEN_TORCH_CUDA_ARCH_LIST}" python3 setup.py install

评论区精华

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

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

风险与影响

主要风险在于 DeepEP 安装脚本的变更可能影响 a2a 后端的正确性,但已在 CI 中对相关测试做了 rerun 验证(见 Issue 评论)。测试阶段从 base-c 移至 extra-b 可能导致某些问题在基础 CI 中未被及时捕获,但额外 CI 仍覆盖了这些场景。整体风险较低。

影响范围限于 CI 系统和 DeepSeek V4 测试维护者。对普通用户无直接影响;对 CI 维护者而言,配置更加简洁清晰,runner 名称统一为 deepep 前缀,降低了认知负担。

测试阶段调整 安装脚本重构 CI 配置变更

关联 Issue

未识别关联 Issue

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

完整报告

参与讨论