# PR #32926 完整报告

- 仓库：`sgl-project/sglang`
- 标题：[AMD] Don't request the unused softmax LSE in the AITER diffusion backend
- 合并时间：2026-08-25 13:27
- 原文链接：http://prhub.com.cn/sgl-project/sglang/pull/32926

---

# 执行摘要

- 一句话：AITER diffusion 后端移除未使用的 softmax LSE 计算
- 推荐动作：该 PR 更偏向微优化清理，价值有限，但对理解 AITER diffusion 后端的调用约定和代码风格有参考价值。可快速浏览，重点留意 `aiter.flash_attn_func` 返回类型差异的约定。

# 功能与动机

PR body 明确说明动机是清理：`AITerImpl.forward` 在同一行请求 softmax LSE 又通过 `output, _ =` 丢弃它，这是无用的请求。同时指出 ring attention 是 LSE 的唯一潜在使用者，但它已被限制在 FA 和 SageAttention 后端，当前无任何消费者，因此移除该参数是安全的。

# 实现拆解

1. **变更入口**：修改 `python/sglang/multimodal_gen/runtime/layers/attention/backends/aiter.py` 中 `forward` 方法的 BF16 分支。
2. **核心变更**：将 `aiter.flash_attn_func` 调用的 `return_lse=True` 改为 `False`，并将返回值的解包从 `output, _ =` 改为 `output =`，因为 `return_lse=False` 时函数返回裸张量而非元组。
3. **配套情况**：无测试、配置或部署改动，仅源码微调。

关键文件：
- `python/sglang/multimodal_gen/runtime/layers/attention/backends/aiter.py`（模块 多模态；类别 source；类型 core-logic；符号 forward）: 核心变更文件，调整了 BF16 分支中 flash_attn_func 的调用，移除未使用的 LSE 请求。

关键符号：forward

## 关键源码片段

### `python/sglang/multimodal_gen/runtime/layers/attention/backends/aiter.py`

核心变更文件，调整了 BF16 分支中 flash_attn_func 的调用，移除未使用的 LSE 请求。

```python
# python/sglang/multimodal_gen/runtime/layers/attention/backends/aiter.py
# forward 方法中 BF16 分支，通过 return_lse=False 避免请求未使用的 softmax LSE。
@torch.compiler.disable
def forward(self, query, key, value, *args, **kwargs):
    # ... 前面的 FP8 分支和警告逻辑 ...
    # BF16 path
    output = aiter.flash_attn_func(
        query,
        key,
        value,
        dropout_p=self.dropout_p,
        causal=self.causal,
        return_attn_probs=False,
        return_lse=False,  # 不再请求未使用的 LSE，aiter 返回裸张量
    )
    return output

```

# 评论区精华

PR 评论中，yichiche 对 perf 收益提出了疑问：PR body 前半段提到 AITER_ENABLE_FMHA_OPUS=1 时带来 5% 性能提升，但 Benchmarking 部分又说无可测量的性能变化，要求澄清。作者未在评论中直接回应，但后续 PR 状态已标记为已合入。

- 性能收益声明不一致 (question): 作者未在评论中明确回复，但改动已合入，说明不影响合入决策。

# 风险与影响

- 风险：风险极低。改动仅涉及一处参数和返回类型处理，且已通过 bitwise 一致性和基准测试验证输出不变。潜在风险是若未来有代码依赖 LSE 返回值，但 `forward` 方法当前未提供该返回，因此影响范围局限于该分支。
- 影响：对用户：无功能影响，仅性能微优化。对系统：减少 AITER flash attention 潜在的冗余计算，但实测无性能变化。对团队：属于低风险清理，为后续优化提供更清晰的代码路径。
- 风险标记：缺少测试覆盖

# 关联脉络

- PR #33021 [AMD] Drop redundant FP8 bpreshuffle scale transpose via fused AR kernel: 同属 AMD 后端性能优化，涉及 AITER 内核调用细节，体现连续的优化方向。