Prhub

#20294 [AMD] Add 4-GPU test suite for MI325 runners

原始 PR 作者 michaelzhang-ai 合并时间 2026-03-25 05:04 文件变更 12 提交数 44 评论 2 代码增减 +252 / -13

执行摘要

为 AMD MI325 runner 添加 4-GPU CI 测试套件,包括 per-commit 和 nightly 测试。

基于PR body,动机是增加AMD MI325 runner的4-GPU CI测试覆盖,具体表述为'Add 4-GPU AMD CI test coverage on MI325 runners: +3 per-commit tests and +1 nightly test',解决AMD平台在4-GPU配置下的测试缺失问题,确保兼容性和稳定性。

该PR值得精读,特别是对于负责CI和测试的工程师,可以学习AMD/NVIDIA路径隔离的设计模式,以及如何通过条件逻辑(如is_in_amd_ci())和注册系统(register_amd_ci())维护多平台兼容性。

讨论亮点

review中无具体评论,但Issue评论中作者michaelzhang-ai强调严格隔离AMD更改,具体表述为'I've cleaned up the PR to strictly isolate AMD changes: No NVIDIA code path changes.',讨论焦点在于设计上如何安全地集成AMD-specific逻辑,通过条件分支和禁用注册实现。

实现拆解

实现方案分为两个模块:

  1. CI工作流模块:在.github/workflows/pr-test-amd.yml和nightly-test-amd.yml等文件中新增'stage-c-test-4-gpu-amd'和'nightly-4-gpu' job,配置AMD MI325 runner和ROCm环境。
  2. 测试逻辑模块:在多个测试文件(如test/registered/distributed/test_pp_single_node.py)中使用register_amd_ci()注册AMD套件,并通过is_in_amd_ci()条件分支调整阈值(如GSM8K从0.74降至0.70)、后端(如从fa3切换到triton)和跳过逻辑(如跳过MLA类测试),确保NVIDIA代码路径不变。
文件 模块 状态 重要度
.github/workflows/pr-test-amd.yml CI modified 8.0
test/registered/distributed/test_pp_single_node.py 测试 modified 7.0
test/registered/spec/eagle/test_eagle_dp_attention.py 测试 modified 7.0

关键符号

register_amd_ci is_in_amd_ci TestPPAccuracy.test_gsm8k TestEAGLE3EngineDPAttention.setUpClass

分析完成后,这里会展示 LLM 生成的相对完整源码片段和详细注释。

评论区精华

AMD 更改隔离 设计

作者在 Issue 评论中强调严格隔离 AMD 更改,不修改 NVIDIA 代码路径,具体表述为 'No NVIDIA code path changes. Every shared test file now falls into one of two patterns: Disabled tests or Enabled tests with if branches.'

结论:通过使用 is_in_amd_ci() 条件和 register_amd_ci() 实现 AMD 逻辑隔离,NVIDIA 路径保持不变。 · 已解决

风险与影响

技术风险具体包括:

  1. 回归风险:AMD-specific逻辑可能引入错误,如test/registered/spec/eagle/test_eagle_dp_attention.py中调整的accuracy阈值(从0.91降至0.88)可能导致假阳性;
  2. 性能风险:新增CI jobs增加资源消耗,如nightly-4-gpu job设置timeout-minutes为120,可能延长测试流水线;
  3. 兼容性风险:AMD路径隔离不彻底可能影响NVIDIA测试,但作者已通过if is_in_amd_ci(): else:结构规避。

对用户影响:提高AMD平台4-GPU配置的测试覆盖,增强软件在AMD环境下的可靠性;对系统:CI流水线增加4个新jobs(如stage-c-test-4-gpu-amd),使用linux-mi325-4gpu-sglang runner,可能增加云资源使用但未影响NVIDIA路径;对团队:建立了AMD多GPU测试标准,便于后续维护和扩展AMD支持。

AMD 路径隔离风险 测试阈值调整风险 CI 资源增加风险

关联 Issue

未识别关联 Issue

当前没有检测到明确关联的 Issue 链接,后续同步到相关引用后会出现在这里。

完整报告

参与讨论