# PR #22228 完整报告

- 仓库：`sgl-project/sglang`
- 标题：[AMD] Fix Timeout: stage-b-test-2-gpu-large-amd,stage-b-test-1-gpu-large-amd
- 合并时间：2026-04-11 13:55
- 原文链接：http://prhub.com.cn/sgl-project/sglang/pull/22228

---

# 执行摘要

该 PR 通过调整 AMD CI 测试的分区数量、预估执行时间和超时配置，修复了 stage-b-test-2-gpu-large-amd 和 stage-b-test-1-gpu-large-amd 两个测试任务的超时问题。这是针对 AMD 硬件平台 CI 稳定性的基础设施优化，变更集中在配置文件层面，对核心功能代码无影响。虽然解决了即时问题，但 review 中提出的根本原因疑问未得到解答，可能需要在后续工作中关注 AMD 测试性能优化。

# 功能与动机

- **问题背景**：AMD CI 流水线中，stage-b-test-2-gpu-large-amd 和 stage-b-test-1-gpu-large-amd 两个测试任务频繁超时，影响开发流程稳定性。
- **解决目标**：通过配置调整确保测试能在限定时间内完成，减少 CI 失败。
- **关键表述**：PR 标题直接点明“Fix Timeout: stage-b-test-2-gpu-large-amd,stage-b-test-1-gpu-large-amd”，body 中提供了相关 CI 运行链接作为问题佐证。

# 实现拆解

| 文件路径 | 变更内容 | 影响 |
|----------|----------|------|
| `.github/workflows/pr-test-amd.yml` | 将 `part` 矩阵从 `[0,1]` 扩展到 `[0,1,2]`，`auto-partition-size` 从 2 增加到 3 | 测试负载分散到更多并行任务，减少单个任务执行时间 |
| `test/registered/perf/test_bench_serving_2gpu.py` | `register_amd_ci` 的 `est_time` 从 1100 分钟增加到 1450 分钟 | 更准确反映 AMD 平台性能测试耗时，避免 CI 调度超时 |
| `test/registered/rl/test_update_weights_from_distributed.py` | `register_amd_ci` 的 `est_time` 从 103 分钟大幅增加到 400 分钟 | 匹配 RL 测试在 AMD 平台的实际执行时间 |

# 评论区精华

- **核心疑问**：Reviewer HaiShaw 提出关键问题：
 > “Any idea why est_time is so much longer, and a way to root fix ?”
 
 这触及了配置调整背后的根本原因——为什么 AMD 平台测试需要如此大幅增加时间？是硬件性能差异、测试效率问题，还是潜在 bug？但讨论在此终止，作者未回复，PR 最终以配置调整方式合并。

# 风险与影响

- **技术风险**：
 1. 配置调整可能掩盖测试本身的性能问题或 bug，而非解决根本原因。
 2. 大幅增加 `est_time`（如从 103 分钟到 400 分钟）可能影响 CI 流水线调度效率和资源利用率。
 3. 增加分区数量可能提升 CI 运行成本，但未评估是否必要。
- **影响范围**：
 - 对用户：无直接影响。
 - 对团队：减少 AMD CI 超时失败，提高开发流程稳定性；但可能延长 CI 整体运行时间，增加资源消耗。
 - 对系统：仅影响 AMD 硬件平台的 CI 测试配置，不涉及其他后端或生产代码。

# 关联脉络

- **历史 PR 关联**：
 - #22565 和 #22563：同样涉及 CI 测试 `est_time` 更新，但本 PR 是手动针对 AMD 平台调整，而历史 PR 更多关注自动化更新和跨后端区分。
 - #22264：同属 AMD 平台相关 PR，涉及依赖升级和 CI 配置，反映团队对 AMD 生态的持续投入。
- **演进趋势**：近期多个 PR（如 #22565、#22563、#22557）聚焦 CI 测试时间估算优化，本 PR 是这一趋势在 AMD 平台的具体体现，但采用了更直接的配置调整而非系统性优化。