执行摘要
- 一句话:CI 并行化 kernel 和 attention 测试,减少墙钟时间
- 推荐动作:值得合并。该 PR 是实现 CI 持续优化的重要步骤,改动极小且收益明确。建议后续关注各分片的实际耗时分布,必要时调整分片数量或方式。
功能与动机
在 PR #48219 的基础上,发现 CI 中仍有多个长耗时测试成为瓶颈(如 Kernels Core Operation Test 耗时 1 小时 43 分钟)。本 PR 旨在通过测试分片并行进一步减少 CI 墙钟时间,提升开发效率。
实现拆解
- Kernels Core Operation Test(
.buildkite/test_areas/kernels.yaml):在原 pytest 命令后添加 --shard-id 和 --num-shards 参数,并设置 parallelism: 3,将测试自动分为 3 片并行执行。
- Kernels Helion Test(同上文件):类似改动,设置
parallelism: 2,将测试分为 2 片。
- V1 attention(H100 和 B200)(
.buildkite/test_areas/attention.yaml):两个 step 均添加 parallelism: 2 和对应的 shard 参数,将 attention 测试分为 2 片并行。
注意:MoE Refactor Integration Test 仅在 nightly 运行,且已是收益瓶颈,因此不做拆分。
关键文件:
.buildkite/test_areas/kernels.yaml(模块 CI配置;类别 config;类型 configuration): 核心配置文件,对两个耗时的 kernel 测试 step 添加了并行分片配置。
.buildkite/test_areas/attention.yaml(模块 CI配置;类别 config;类型 configuration): 对 V1 attention 测试 step 添加并行分片,减少 attention 测试墙钟时间。
关键符号:未识别
评论区精华
无 review 讨论(PR 由 ywang96 直接 approve,且无 comment)。
风险与影响
- 风险:该 PR 仅修改 CI 并行配置,不涉及任何源码逻辑,风险极低。但需确保测试分片能均匀切分,避免因测试文件粒度不均导致某些分片仍过长。另外,
parallelism 增加会消耗更多 CI 资源(同时运行多个 job),需确认 CI 集群容量是否足够。
- 影响:主要影响 CI 墙钟时间和资源消耗:
- 用户/开发者:CI 反馈速度提升,开发迭代更快。
- 系统:CI agent 并发数增加,资源使用量上升,但总 compute 时间可能近似或略增。
- 团队:需监控 CI 稳定性,确保分片不会引入额外失败。
- 风险标记:CI 资源竞争风险, 分片不均匀风险
关联脉络
- PR #48219 [CI] split tests to reduce CI time: 前一阶段 CI 分片工作,本 PR 是其延续。
参与讨论