# PR #24612 完整报告

- 仓库：`sgl-project/sglang`
- 标题：[AMD] VRAM cleanup step to AMD nightly test workflows
- 合并时间：2026-05-11 11:08
- 原文链接：http://prhub.com.cn/sgl-project/sglang/pull/24612

---

# 执行摘要

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

# 功能与动机

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

# 实现拆解

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](https://github.com/sgl-project/sglang/actions/runs/25503286022) 验证修改正确。

关键文件：
- `.github/workflows/nightly-test-amd.yml`（模块 CI 工作流；类别 infra；类型 infrastructure）: 35 个测试作业均需在 Setup docker 前增加 VRAM 清理步骤，是该 PR 的主体变更之一。
- `.github/workflows/nightly-test-amd-rocm720.yml`（模块 CI 工作流；类别 infra；类型 infrastructure）: 37 个作业（含 2 个 DSv4）需要新增清理步骤，DSv4 作业的步骤位置特殊处理。

关键符号：未识别


# 评论区精华

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

- 暂无高价值评论线程

# 风险与影响

- 风险：风险极低：
 - 新增步骤仅清理环境，不影响产品代码逻辑。
 - 镜像解析步骤的依赖关系已通过插入顺序正确维护。
 - 可能轻微增加 CI 作业时间（数秒），但相比整体测试时长可忽略。
- 影响：影响范围限于 CI 基础设施：
 - 对用户：无影响。
 - 对开发团队：减少 AMD 夜间测试因环境问题导致的假阳性失败，节省排查时间。
 - 对系统：复用已有脚本，无额外维护负担。
 - 风险标记：暂无

# 关联脉络

- 暂无明显关联 PR