# PR #25236 完整报告

- 仓库：`sgl-project/sglang`
- 标题：ci: H200 conditional split + dsv4 est_time recalibration (h200 partition 6→2)
- 合并时间：2026-05-14 13:28
- 原文链接：http://prhub.com.cn/sgl-project/sglang/pull/25236

---

# 执行摘要

- 一句话：H200 8-GPU 测试分区从 6 缩减至 2，5 个测试移至 nightly
- 推荐动作：值得快速合并，是持续降低 CI 等待时间的有效迭代。建议后续关注夜间测试稳定性，并考虑将此类测试进一步迁移至 merge-queue 机制（如 PR body 所述）。

# 功能与动机

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

# 实现拆解

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

1. **移动 5 个测试至 nightly**：修改 `test/registered/8-gpu-models/test_deepseek_v32_indexcache.py`、`test_nvidia_nemotron_3_super_bf16.py`、`test_return_indexer_topk.py`、`test_step3p5_flash_chain_mtp.py` 和 `test/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.py`、`test_mimo_models.py`、`test_deepseek_v3_mtp.py`、`test_minimax_m25_basic.py`、`test_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 测试；类别 test；类型 test-coverage）: 代表 5 个从 per-commit 移至 nightly 的测试，展示了注册方式变更（从 stage/c 改为 nightly suite）。
- `test/registered/dsv4/test_deepseek_v4_flash_fp4_h200.py`（模块 CI 测试；类别 test；类型 test-coverage）: est_time 降幅最大（1800→370），体现数据驱动的校准力度。
- `test/registered/lora/test_lora_tp.py`（模块 CI 测试；类别 test；类型 test-coverage）: est_time 唯一上调的测试（190→230），体现更准确的耗时估计。

关键符号：未识别


# 评论区精华

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

- PR 作者手动触发 H200 测试验证 (other): 验证通过，无新增评论。

# 风险与影响

- 风险：风险极低：仅涉及测试注册参数的修改，不改变任何运行时逻辑。主要风险是夜间定时任务可能因环境差异导致移动的测试失败，但缺少标签（tags）的测试通过 `*` 通配符被拉入，理论上会被覆盖。另有个别测试 `est_time` 缩减幅度较大（如 1800→370），若实际波动可能引发 timeout，但已有基准数据支撑。
- 影响：**开发者**：大部分 H200 8-GPU 测试不再阻塞主 CI，per-commit 等待时间减半，但夜间覆盖率保持不变。**系统**：CI 资源利用率提升，H200 机器分区从 6 降至 2，释放 GPU 时间用于其他任务。**团队**：需关注夜间测试失败通知，确保回归覆盖。
- 风险标记：est_time 大幅缩减可能引发 timeout, 夜间测试缺少 tags 覆盖

# 关联脉络

- PR #25203 ci: B200 conditional split + LPT_SLOP removal (stage-c partition 8→3): 相同模式：将低频测试从 per-commit 移至 nightly 并校准 est_time，本 PR 是 H200 侧的镜像操作。
- PR #25197 ci: decouple stage and runner for cuda registry: 修改了 `compute_partitions.py` 等 CI 基础设施，本 PR 依赖其分区计算逻辑来自动分配分区。