Prhub

#25236 ci: H200 conditional split + dsv4 est_time recalibration (h200 partition 6→2)

原始 PR 作者 alisonshao 合并时间 2026-05-14 13:28 文件变更 13 提交数 2 评论 3 代码增减 +13 / -13

执行摘要

H200 8-GPU 测试分区从 6 缩减至 2,5 个测试移至 nightly

PR body 指出 stage-c-test-8-gpu-h200 在每个 PR 中运行 6 个分区,但多数测试对典型 PR 无严格阻塞作用,与之前 B200 拆分(#25203)的动机一致。通过将低频测试移至 nightly 并校准耗时参数,提升 CI 效率。

值得快速合并,是持续降低 CI 等待时间的有效迭代。建议后续关注夜间测试稳定性,并考虑将此类测试进一步迁移至 merge-queue 机制(如 PR body 所述)。

讨论亮点

未出现设计争议或深度技术讨论。PR 作者通过 /rerun-stage 指令手动触发了一次 H200 测试验证,CI 系统自动执行,未产生 Review 评论或 unresolved threads。

实现拆解

该 PR 仅涉及测试文件中的 CI 注册配置变更,无源码逻辑改动,具体分为以下两步:

  1. 移动 5 个测试至 nightly:修改 test/registered/8-gpu-models/test_deepseek_v32_indexcache.pytest_nvidia_nemotron_3_super_bf16.pytest_return_indexer_topk.pytest_step3p5_flash_chain_mtp.pytest/registered/distributed/test_disaggregation_hybrid_attention.py,将 register_cuda_ci() 调用中的 stage="stage-c", runner_config="8-gpu-h200" 替换为 suite="nightly-8-gpu-h200", nightly=True,并相应调整 est_time。这些测试仅在定时 cron 执行时通过 --include-tags=* 通配符拉入。

  2. 校准 8 个测试的 est_time:基于 CI 监控面板的实际 wall-clock 数据,对保留在 stage-c 的测试(如 test_dsa_models_mtp.pytest_mimo_models.pytest_deepseek_v3_mtp.pytest_minimax_m25_basic.pytest_lora_tp.py 以及 3 个 dsv4 测试)下调 est_time,降幅 30-70%。最大调整是 test_deepseek_v4_flash_fp4_h200.py 从 1800s 降至 370s。

配套的 compute_partitions.py(未直接修改)会根据新的 est_time 自动计算分区,保证分区大小符合预期。

文件 模块 状态 重要度
test/registered/8-gpu-models/test_deepseek_v32_indexcache.py CI 测试 modified 3.78
test/registered/dsv4/test_deepseek_v4_flash_fp4_h200.py CI 测试 modified 3.41
test/registered/lora/test_lora_tp.py CI 测试 modified 3.7

分析完成后,这里会展示 LLM 生成的相对完整源码片段和详细注释。

评论区精华

PR 作者手动触发 H200 测试验证 other

作者评论 `/rerun-stage stage-c-test-8-gpu-h200` 触发独立 CI 运行,GitHub Actions 自动响应。

结论:验证通过,无新增评论。 · 已解决

风险与影响

风险极低:仅涉及测试注册参数的修改,不改变任何运行时逻辑。主要风险是夜间定时任务可能因环境差异导致移动的测试失败,但缺少标签(tags)的测试通过 * 通配符被拉入,理论上会被覆盖。另有个别测试 est_time 缩减幅度较大(如 1800→370),若实际波动可能引发 timeout,但已有基准数据支撑。

开发者:大部分 H200 8-GPU 测试不再阻塞主 CI,per-commit 等待时间减半,但夜间覆盖率保持不变。系统:CI 资源利用率提升,H200 机器分区从 6 降至 2,释放 GPU 时间用于其他任务。团队:需关注夜间测试失败通知,确保回归覆盖。

est_time 大幅缩减可能引发 timeout 夜间测试缺少 tags 覆盖

关联 Issue

未识别关联 Issue

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

完整报告

参与讨论