# PR #21906 完整报告

- 仓库：`sgl-project/sglang`
- 标题：[Bugfix] Temporarily skip TRTLLM attention on (G)B300 (SM103) to avoid high-concurrency hang
- 合并时间：2026-04-04 05:19
- 原文链接：http://prhub.com.cn/sgl-project/sglang/pull/21906

---

# 执行摘要

- 一句话：临时跳过 SM103 GPU 上的 TRTLLM attention 以避免高并发挂起，改用 FA4 后端。
- 推荐动作：该 PR 值得精读，特别是关注硬件特定问题的处理方式，以及 attention 后端选择逻辑的设计权衡，如精确检测与范围检测的对比。

# 功能与动机

根据 PR body 和关联 Issue #21904，SM103 硬件（如 GB300）在使用 TRTLLM attention 时，高并发下会无限挂起，这是 FlashInfer 库的 bug（issue #2939）。PR body 中明确说明：“Temporary workaround until FlashInfer fixes TRTLLM attention on SM103”，目标是临时修复以避免影响用户使用。

# 实现拆解

实现方案分为三个部分：1. 在 `common.py` 中新增 `is_sm103_supported` 函数，精确检测 SM103 计算能力；2. 在 `server_args.py` 中调整默认 attention 后端选择逻辑，在多个模型特定路径中排除 SM103，使用非 TRTLLM 后端（如 flashinfer 或 triton）；3. 在 `nsa_backend.py` 的 `_forward_standard_mha` 函数中，当设备为 SM103 时，改用 FA4 attention 替代 TRTLLM，避免调用有 bug 的内核。

关键文件：
- `python/sglang/srt/layers/attention/nsa_backend.py`（模块 layers/attention）: 核心 attention 逻辑修改，在 SM103 上改用 FA4 替代 TRTLLM，直接影响推理路径。
- `python/sglang/srt/server_args.py`（模块 server 配置）: 调整服务器参数和默认 attention 后端选择，涉及多个模型特定路径，确保 SM103 跳过 TRTLLM。
- `python/sglang/srt/utils/common.py`（模块 utils）: 新增硬件检测函数 is_sm103_supported，为整个 PR 提供基础检测能力。

关键符号：_forward_standard_mha, _set_default_nsa_backends, _handle_model_specific_adjustments, is_sm103_supported


# 评论区精华

Review 中的核心讨论包括：Fridge003 建议使用 `is_sm103_supported` 函数统一屏蔽 SM103，而非 `is_sm100_exact`，mmangkad 采纳并修改；Fridge003 询问内核是否受影响，mmangkad 确认相同底层内核模块。结论是采纳建议，代码中统一使用 `is_sm103_supported`，并标记 TODO 以便未来回滚。未解决疑虑是临时修复可能影响性能，需待上游修复。

- 使用 is_sm103_supported 函数统一屏蔽 SM103 (design): 采纳建议，代码修改为统一使用 is_sm103_supported。

# 风险与影响

- 风险：技术风险包括：1. 临时修复可能影响 SM103 上的性能，因为 FA4 后端可能不如 TRTLLM 优化；2. 代码中添加多个条件分支，增加了复杂性，未来回滚时需谨慎；3. 兼容性风险仅限 SM103 硬件，其他硬件不受影响，但测试覆盖需确保高并发场景；4. 安全风险低，但依赖外部库 FlashInfer 的修复。
- 影响：影响范围：1. 对用户：SM103 硬件用户不再遇到高并发挂起问题，但 attention 后端改变可能导致吞吐量变化；2. 对系统：提升稳定性和可用性，避免崩溃；3. 对团队：提供临时解决方案，代码中标记 TODO 便于后续清理，需关注上游 FlashInfer 修复进展。
- 风险标记：临时修复 , 硬件特定 , 可能性能下降

# 关联脉络

- PR #22047 Revert "[Feature] NVFP4 Marlin fallback for non-Blackwell GPUs (SM75+…": 涉及硬件特定功能回滚，与本 PR 类似，处理硬件兼容性问题。