执行摘要
- 一句话:基于夜间运行数据校准 AMD CI 所有测试组超时,从统一 180 分钟调整为实际值加余量。
- 推荐动作:此 PR 是高质量的基础设施维护工作,方法论清晰、数据驱动且有明确的关联 Issue。它值得关注,特别是对于负责 CI/CD 和 ROCm 平台支持的团队。其数据收集和校准方法(平均值+余量+取整)可作为优化其他测试管道超时的范例。建议精读其 PR body 以理解方法论。
功能与动机
为解决 Issue #34994 中提到的“更新 MI355 超时设置”任务,作者系统性地校准了 AMD CI 的测试超时。原文描述为“Calibrate all 193 amd-ci test-group timeouts from the latest 10 canonical nightly runs instead of using the blanket 180-minute value”。这是 ROCm CI 基础设施改进的一部分,旨在基于实际运行数据优化测试管道配置。
实现拆解
- 数据收集与计算:对最近 10 次夜间构建(Builds #12460 到 #12332)的每个测试组,收集其排除队列等待后的 Buildkite 墙面完成时间,使用每个测试组中最慢的分片耗时作为该晚的组完成时间。
- 超时值确定:计算上述 10 个数据点的平均值,增加 20 分钟的固定余量,然后将结果向上舍入到下一个 5 的倍数,作为该测试组的新超时值。
- 配置更新:在核心配置文件
.buildkite/test-amd.yaml 中,为所有 193 个测试步骤的 timeout_in_minutes 字段设置新计算出的值,替换了原先统一的 180。
- 后续微调:在合并过程中,根据反馈增加了对
(MI300) Weight Loading 测试组的超时时间,使其与其他测试保持一致的方法论。
关键文件:
.buildkite/test-amd.yaml(模块 CI 配置;类别 config;类型 configuration): 这是唯一被修改的文件,包含了所有 AMD CI 测试组的定义和超时配置,是本次变更的核心载体。
关键符号:未识别
评论区精华
PR body 详细阐述了超时校准的“五步方法论”,并声明使用了 AI 辅助进行计算和验证,强调需人工审查。评论区唯一的实质性反馈来自 wjabbour,其评论“pretty awesome”表达了对工作的认可,未发现关于方法论或具体数值的争议。
- 基于夜间运行数据校准 AMD CI 测试超时的方法论 (design): 方法论被清晰阐述并作为 PR 描述的一部分,未收到异议或修改要求。该方法论将超时设置从经验性(统一180分钟)转变为数据驱动。
风险与影响
关联脉络
- PR #34994 [Feature]: Infrastructure Improvements for ROCm CI: 本 PR 直接完成了关联 Issue #34994 中“更新 MI355 超时设置”的任务,是该更大基础设施改进项的一部分。
- PR #54754 [CI] Shard long kernel test groups: 同为 CI 基础设施优化,旨在通过分片降低测试耗时,与本 PR 的超时校准目标(提高 CI 效率)和关联 Issue #34994 的整体目标一致。
- PR #54752 [CI] Shard distributed model jobs above the 24h P90 threshold: 同为 CI 性能优化,通过分片降低分布式模型测试的 P90 耗时,与本 PR 的超时校准共同服务于更快、更可靠的 CI 反馈循环。
参与讨论