# PR #25896 完整报告

- 仓库：`sgl-project/sglang`
- 标题：[AMD] Upgrade AITER
- 合并时间：2026-05-21 17:10
- 原文链接：http://prhub.com.cn/sgl-project/sglang/pull/25896

---

# 执行摘要

- 一句话：升级 AMD ROCm Dockerfile 中 AITER 依赖版本
- 推荐动作：该 PR 属于常规依赖升级，技术含量较低，除非关注 ROCm 构建流程，否则无需精读。但值得注意其作为前置 PR 的关联性，以及 review 中关于代码重复的建议，未来类似升级应考虑使用全局 ARG 降低维护成本。

# 功能与动机

PR body 明确指出升级 AITER 到 `32e1e6d76988e4fbc67cabd9eb72a45a3c6a1bab`（May 18），合并后需跟进修复 PR #25580（`fix(mxfp4): route AITER MXFP4+swiglu through FlyDSL gate_mode=INTERLEAVE`）。即为了支持 MXFP4+swiglu 的 FlyDSL 路由修复，必须先升级 AITER 版本。

# 实现拆解

1. **更新 AITER 提交哈希**：在 `docker/rocm.Dockerfile` 的四个构建阶段（`gfx942`, `gfx942+rocm720`, `gfx950`, `gfx950+rocm720`）中，将 `ENV AITER_COMMIT_DEFAULT` 从 `a6bb499375849eec45d68c5ccaebc8865fd422c0` 改为 `32e1e6d76988e4fbc67cabd9eb72a45a3c6a1bab`。
2. **新增系统 Triton 保留逻辑**：在构建 AITER 的 `RUN` 命令前，新增 `ENV AITER_USE_SYSTEM_TRITON=1`，确保默认使用基础镜像自带的 Torch 兼容 Triton，避免 AITER 管理的 Triton 覆盖。注释中说明可通过 `AITER_USE_SYSTEM_TRITON=0` 覆盖以测试 AITER 管理的 Triton。
3. **增加调试输出**：在 AITER 构建脚本中添加 `echo "[AITER] AITER_USE_SYSTEM_TRITON=${AITER_USE_SYSTEM_TRITON}"`，便于排查构建问题。
4. **其他配套修改**：移除了之前为修复 `aiter_mhc_pre` 问题的 cherry-pick 注释（`# cherry pick b639cb6 commit for aiter_mhc_pre fix, may be removed in next aiter upgrade`），因为新版 AITER 已包含该修复。

关键文件：
- `docker/rocm.Dockerfile`（模块 部署脚本；类别 infra；类型 infrastructure）: 唯一修改的文件，升级了 AITER 依赖哈希并新增了系统 Triton 保留机制。

关键符号：未识别

## 关键源码片段

### `docker/rocm.Dockerfile`

唯一修改的文件，升级了 AITER 依赖哈希并新增了系统 Triton 保留机制。

```dockerfile
# 修改前：ENV AITER_COMMIT_DEFAULT="a6bb499375849eec45d68c5ccaebc8865fd422c0"
# 修改后：
ENV AITER_COMMIT_DEFAULT="32e1e6d76988e4fbc67cabd9eb72a45a3c6a1bab"

# ... 在另一个构建阶段 ...
# 新增：保留基础镜像的 Torch 兼容 Triton，避免 AITER 管理的 Triton 覆盖系统 Triton
# 若需测试 AITER 管理的 Triton，设置 AITER_USE_SYSTEM_TRITON=0
ENV AITER_USE_SYSTEM_TRITON=1

# 构建 AITER 时输出调试信息
RUN cd aiter \
    && echo "[AITER] GPU_ARCH=${GPU_ARCH}" \
    && echo "[AITER] AITER_USE_SYSTEM_TRITON=${AITER_USE_SYSTEM_TRITON}" \
    && ...

```

# 评论区精华

仅有 `gemini-code-assist[bot]` 提出一条 review 评论：建议将重复的 AITER commit hash 定义为一个全局 `ARG` 以提升可维护性，避免未来更新时遗漏。作者未回复该建议，但 PR 最终仍被 `yctseng0211` 和 `HaiShaw` 批准合并，表明该优化非强制要求。

- AITER 提交哈希重复定义建议用 ARG 统一管理 (design): 作者未回复，PR 被批准合并，未采纳该建议。

# 风险与影响

- 风险：风险较低。变更仅涉及 Dockerfile 中 AITER 提交哈希和新增环境变量，不触及任何 Python/C++ 源码。主要风险是：
 - 新版本 AITER 可能存在兼容性问题或回归，需配合后续修复 PR #25580 验证。
 - 新增的 `AITER_USE_SYSTEM_TRITON=1` 可能在某些场景下导致 Triton 版本不匹配，但提供了回退变量 `AITER_USE_SYSTEM_TRITON=0`。
 - 影响：**影响范围**：仅影响 AMD ROCm Docker 镜像构建过程，不影响运行时逻辑。
**影响程度**：中等，因为这是为后续功能修复打基础的基础设施变更，错误版本可能导致后续修复无法正常运作。但 CI 已通过（PR Test 通过，Extra Test 失败但非直接相关），表明基本构建正常。

- 风险标记：依赖升级 , 缺少测试覆盖（仅构建流程）

# 关联脉络

- PR #25580 fix(mxfp4): route AITER MXFP4+swiglu through FlyDSL gate_mode=INTERLEAVE: PR body 明确指出本 PR 合并后需合并该修复 PR，是直接依赖关系。