Prhub

#24612 [AMD] VRAM cleanup step to AMD nightly test workflows

原始 PR 作者 yctseng0211 合并时间 2026-05-11 11:08 文件变更 2 提交数 1 评论 2 代码增减 +216 / -0

执行摘要

为 AMD 夜间测试增加 VRAM 清理步骤

PR body 指出 AMD 夜间测试频繁因 RuntimeError: The memory capacity is unbalanced 失败,根源是前序任务取消/超时/崩溃后在共享 runner 上留下孤儿进程或 HIP 上下文占用 VRAM,而夜间工作流未像 PR 工作流那样在启动容器前执行 ensure_vram_clear.sh

建议合并此 PR。它是 CI 质量的常规维护,与 PR 测试工作流的行为对齐,能有效提升夜间测试的可靠性。对于需要维护 CI 管线的团队,本 PR 的改动模式(在容器启动前清理 VRAM)值得在其他类似场景(如共享 runner 的多租户环境)中参考。

讨论亮点

该 PR 无人工 review 评论(仅 Gemini 机器人的自动回复)。已获 CODEOWNER bingxche 批准,无争议。

实现拆解

  1. 问题分析:定位到 init_torch_distributed 中 VRAM 不平衡检查失败的原因为 GPU 残留进程。
  2. 修改文件:编辑 .github/workflows/nightly-test-amd.yml(35 个作业)和 .github/workflows/nightly-test-amd-rocm720.yml(37 个作业)。
  3. 添加步骤:在每个作业的 Checkout 之后、Setup docker 之前插入 Ensure VRAM is clear 步骤,运行 bash scripts/ci/amd/ensure_vram_clear.sh rocm
  4. 特殊处理:对于 nightly-test-amd-rocm720.yml 中的两个 DSv4 作业,步骤放在 Resolve DSv4 image tag 之后、Setup docker (ROCm 7.2 DSv4) 之前,避免影响镜像解析。
  5. 测试验证:通过内部 Action run #25503286022 验证修改正确。
文件 模块 状态 重要度
.github/workflows/nightly-test-amd.yml CI 工作流 modified 4.99
.github/workflows/nightly-test-amd-rocm720.yml CI 工作流 modified 5.01

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

评论区精华

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

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

风险与影响

风险极低:

  • 新增步骤仅清理环境,不影响产品代码逻辑。
  • 镜像解析步骤的依赖关系已通过插入顺序正确维护。
  • 可能轻微增加 CI 作业时间(数秒),但相比整体测试时长可忽略。

影响范围限于 CI 基础设施:

  • 对用户:无影响。
  • 对开发团队:减少 AMD 夜间测试因环境问题导致的假阳性失败,节省排查时间。
  • 对系统:复用已有脚本,无额外维护负担。

关联 Issue

未识别关联 Issue

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

完整报告

参与讨论