执行摘要
该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最终以配置调整方式合并。
风险与影响
- 技术风险:
- 配置调整可能掩盖测试本身的性能问题或bug,而非解决根本原因。
- 大幅增加
est_time(如从103分钟到400分钟)可能影响CI流水线调度效率和资源利用率。
- 增加分区数量可能提升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平台的具体体现,但采用了更直接的配置调整而非系统性优化。
参与讨论