Prhub

#30309 [AMD] ci: run multimodal_gen unit suite on AMD

原始 PR 作者 michaelzhang-ai 合并时间 2026-07-08 07:02 文件变更 3 提交数 4 评论 1 代码增减 +135 / -1

执行摘要

AMD CI 新增 multimodal_gen 单元测试覆盖

PR 描述指出,multimodal_gen 单元测试套件是便携的 CPU 风格单元测试,不需要 NVIDIA 硬件,但之前仅在 CUDA CI 中运行,导致 AMD CI 存在覆盖缺口(coverage gap)。本 PR 旨在填补这一缺口,使 AMD ROCm CI 也运行这些测试。

建议合并。这是一个标准的 CI 覆盖增强 PR,设计清晰、测试已验证通过。后续可以关注排除的测试文件是否能随 ROCm 环境改进而重新启用。

讨论亮点

本 PR 无实质性 review 讨论。合并者 HaiShaw 直接批准,未留下评论。

实现拆解

  1. pr-test-amd.yml 中添加作业: 新增 multimodal-gen-unit-test-amd 作业,在 ROCm 7.0.0 容器中运行 run_suite.py --suite unit,并通过 -k "not ltx2_vae_channels_last" 排除一个 CUDA 特定测试文件。该作业被加入 target_stage_select 下拉选项和终点门控。
  2. pr-test-amd-rocm720.yml 中添加作业: 类似地,添加 multimodal-gen-unit-test-amd-rocm720 作业,在 ROCm 7.2.0 环境中运行相同套件,也排除同一测试文件。
  3. 更新 CI 覆盖报告: 在 scripts/ci/utils/ci_coverage_report.py 中,将 unit 子目录的后端映射从 ("CUDA",) 改为 ("CUDA", "AMD"),并添加若干重构后子目录的映射规则(如 single_test_fileunit/realtime 等),确保覆盖报告准确统计。
文件 模块 状态 重要度
.github/workflows/pr-test-amd.yml AMD 工作流 modified 4.97
.github/workflows/pr-test-amd-rocm720.yml AMD 工作流 modified 4.55
scripts/ci/utils/ci_coverage_report.py 覆盖报告 modified 3.98

关键源码片段

scripts/ci/utils/ci_coverage_report.py infrastructure

更新了 CI 覆盖报告,将 unit 子目录映射为 CUDA 和 AMD,并添加了重构后子目录的映射规则

# 后端映射字典,指示每个子目录在哪些后端上运行
_MM_GEN_SUBDIR_BACKENDS = {
    "server": ("CUDA",),
    "server/amd": ("AMD",),
    "server/musa": ("MUSA",),
    "layers": ("CUDA",),
    "unit": ("CUDA", "AMD"), # 现在 AMD CI 也运行 unit 套件
    "cli": ("CUDA",),
    "manual": ("CUDA",),
    # 以下为重构后的子目录映射,此前无规则导致被完全丢弃
    "single_test_file": ("CUDA",),
    "single_test_file/component_accuracy": ("CUDA",),
    "unit/realtime": ("CUDA",),
    "unit/sana_wm": ("CUDA",),
    "unit/progressive_resolution": ("CUDA",),
    "unit/musa/layers": ("MUSA",),
}

评论区精华

没有提炼出高价值讨论线程

当前评论区没有形成足够清晰的争议点或结论,后续有更多讨论时会体现在这里。

风险与影响

本 PR 仅涉及 CI 配置变更,不修改任何源代码,回归风险极低。但存在以下注意事项:

  • 排除了 ltx2_vae_channels_last.py,该文件中的测试在 ROCm 上因内存格式断言而失败,需关注后续 ROCm 补齐该功能。
  • 新增作业会增加 CI 运行总时长约 2 分钟,但尚在可接受范围。
  • 覆盖报告更新依赖正确的子目录映射,若未来目录结构再调整,需同步更新映射。

对用户无直接影响。对开发团队,AMD CI 的测试覆盖得到提升,可更早发现便携性问题。CI 总运行时间略有增加,但影响极小。此外,覆盖报告将更准确地反映 AMD 的测试覆盖范围。

排除 CUDA 特定测试 CI 时间增加 覆盖报告依赖目录结构

关联 Issue

未识别关联 Issue

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

完整报告

参与讨论