Sglang 代码变更总结 (UTC+8 2026-04-03)

本文总结了 Sglang 项目在 2026年4月3日(UTC+8 0时到24时) main 分支的所有 commit 变更,共计 46 个 commit

总体概览

分类 Commit 数量 关键变更
新模型/模型增强 6 Transformers 新后端、NVFP4 Marlin 回退、GPT-OSS 20B LoRA、MOVA(NPU)、VLM 多模态拆分
性能优化/Kernel 9 JIT Activation、FP8 NSA(AMD)、GLM4.7(NPU)、并行状态重构、sgl-kernel 0.4.1
Bug Fix 5 CUDA graph replay、MoE graph_capture、dp-attention 信息、Llava 子模块、tool_choice 限制
反汇编/PD 3 HiSparse 缓存传输、mooncake 清理、qwen3 vl PP
CI/Workflow 14 测试套件修复、权限更新、超时调整、kernel release 修复
重构/清理 5 多模态处理器重构、注释清理、ROCM RL shuffle、日志移除
文档 1 NPU 文档优化

一、新模型与模型增强

1.1 Transformers 全新建模后端

引入了一个更强大的 transformers 建模后端,支持 TP(张量并行)、PP(流水线并行)、MoE、VLMs 以及 torch compile。这是当天最大的变更(+2169行)。

Commit Message 总结 PR 链接
[Feature] Stronger transformers modeling backend with TP, PP, MoE, VLMs, and torch compile (#19163) 引入全新的 transformers.py 模型后端,支持 TP/PP/MoE/VLMs/torch compile,改动超 2000 行 PR #19163

1.2 NVFP4 Marlin 回退支持

为非 Blackwell GPU(SM75+)增加了 NVFP4 Marlin 回退机制,使更多 GPU 可以运行 NVFP4 量化模型。

Commit Message 总结 PR 链接
[Feature] NVFP4 Marlin fallback for non-Blackwell GPUs (SM75+) (#19652) 为非 Blackwell GPU(SM75+)增加 NVFP4 Marlin 回退路径,新增 marlin_utils_fp4.py PR #19652

1.3 GPT-OSS 20B LoRA 支持

Commit Message 总结 PR 链接
[4/n] Support gpt oss 20b lora (#21570) 为 GPT-OSS 20B 模型增加 LoRA 支持,修改 gpt_oss.py 及 LoRA 层 PR #21570

1.4 MOVA 视频扩散模型(NPU)

Commit Message 总结 PR 链接
[Diffusion][NPU] Add support for MOVA (#21633) 在 NPU 上增加对 MOVA 视频扩散模型的支持 PR #21633

1.5 VLM 多模态图像拆分

Commit Message 总结 PR 链接
[VLM] Enable per-image MM splitting by default and remove MULTI_IMAGES modality (#21899) 默认启用逐图像多模态拆分,移除 MULTI_IMAGES modality,简化 VLM 处理流程 PR #21899

1.6 Qwen3 VL 流水线并行

Commit Message 总结 PR 链接
[PP] qwen3 vl skip layer id for pp (#19135) 为 Qwen3 VL 增加 PP(流水线并行)的 skip layer id 支持 PR #19135

二、性能优化与 Kernel

2.1 JIT Activation 内核

Commit Message 总结 PR 链接
[Feature][JIT Kernel] JIT activation and update skills (by codex) (#21766) 引入 JIT 编译的 activation 内核,更新所有 MoE 层使用 JIT activation,提升推理性能 PR #21766

2.2 AMD FP8 NSA 支持

Commit Message 总结 PR 链接
[AMD] Enable FP8 KV cache and FP8 attention kernel for NSA on MI300/MI355 with TileLang backend (#21511) 在 MI300/MI355 上为 NSA 启用 FP8 KV cache 和 FP8 attention kernel(TileLang 后端) PR #21511

2.3 GLM4.7 NPU 优化

Commit Message 总结 PR 链接
[NPU] optimize glm4.7 (#19246) 针对 NPU 优化 GLM4.7 模型的推理性能 PR #19246

2.4 AMD Allreduce 性能修复

Commit Message 总结 PR 链接
[AMD] Resolve the performance degression when launch server with "--enable-aiter-allreduce-fusion" (#21947) 修复启用 --enable-aiter-allreduce-fusion 时的性能退化问题 PR #21947

2.5 并行状态重构

Commit Message 总结 PR 链接
[Parallel State Refactor 1/n] Remove stream of PyNCCL (#20866) 移除 PyNCCL 的 stream 管理,简化并行状态 PR #20866
[Parallel State Refactor 2/n] Unify code path of AMD deterministic all reduce (#20871) 统一 AMD 确定性 allreduce 的代码路径,大幅清理 custom_all_reduce.py PR #20871

2.6 sgl-kernel 版本升级

Commit Message 总结 PR 链接
chore: bump sgl-kernel version to 0.4.1 (#21447) 将 sgl-kernel 版本升级到 0.4.1 PR #21447

2.7 Revert 操作

Commit Message 总结 PR 链接
Revert "[Kernel] Fuse temperature + softmax in sampling for decode speedup" (#22046) 回退了之前的 temperature + softmax 融合优化(因兼容性问题) PR #22046
Revert "[MUSA][9/N] Add FA3 attention backend support through MATE (MUSA AI Tensor Engine)" (#22002) 回退了 MUSA FA3 attention 后端支持(当天先合入后回退) PR #22002

三、Bug Fix

Commit Message 总结 PR 链接
[Bugfix] Fix CUDA graph replay issues in trtllm_mla draft_extend (#21987) 修复 trtllm_mla draft_extend 模式下的 CUDA graph replay 问题 PR #21987
[Fix] Add _MOE_TP to graph_capture for MoE models with ep>1 (#21907) 为 ep>1 的 MoE 模型在 graph_capture 中增加 _MOE_TP 支持 PR #21907
[Bugfix] Fix incorrect dp-attention parallel info in bench_one_batch (#21519) 修复 bench_one_batch 中 dp-attention 并行信息显示错误 PR #21519
Skip broken AutoModel mapping entries when resolving Llava submodules (#21892) 跳过损坏的 AutoModel 映射条目,修复 Llava 子模块解析失败 PR #21892
Remove maxItems=1 restriction when tool_choice is specified (#20208) 移除 tool_choice 指定时 maxItems=1 的限制,修复 function call 的 schema 约束 PR #20208

四、server_args.py 新增参数

本次时间窗口内,server_args.py 的变更主要是逻辑修改,没有新增命令行参数,但增加了一个重要的逻辑约束:

Commit Message 变更内容 PR 链接
[Fix] Add _MOE_TP to graph_capture for MoE models with ep>1 (#21907) _check_eplb_and_other_flags_compatibility 中新增:当 attn_cp_size > 1(Context Parallel)时,自动禁用 piecewise CUDA graph PR #21907

五、新增环境变量

环境变量 默认值 说明 来源 Commit
SGLANG_FORCE_NVFP4_MARLIN False 强制使用 NVFP4 Marlin 后端(用于非 Blackwell GPU 回退) PR #19652
SGLANG_MUSA_FA3_FORCE_UPDATE_METADATA False 强制更新 MUSA FA3 的元数据 PR #17985(已回退)

六、Disaggregation / PD(预填充-解码分离)

Commit Message 总结 PR 链接
[PD]: Add support for HiSparse to directly transfer the cache from Prefill to Decode DRAM. (#21591) 支持 HiSparse 直接将缓存从 Prefill 端传输到 Decode 端 DRAM,减少中间拷贝 PR #21591
[PD] Tiny register info field cleanup for mooncake backend (#22016) 清理 mooncake 后端的 register info 字段 PR #22016

七、CI / Workflow 变更

Commit Message 总结 PR 链接
[CI] Fix test suite names and add suite validation (#21937) 修复测试套件名称并增加验证机制 PR #21937
[CI] Adjust CI server launch timeout (#22045) 调整 CI 服务器启动超时时间 PR #22045
[Workflow] Fix kernel release build failures for aarch64 and wheel renaming (#22018) 修复 aarch64 kernel release 构建失败和 wheel 重命名问题 PR #22018
[Workflow] Fix kernel release jobs skipped on push events (#22011) 修复 push 事件时 kernel release job 被跳过的问题 PR #22011
[Workflow] Avoid triggering nightly tests in kernel bump workflow (#22010) 避免在 kernel bump 工作流中触发 nightly 测试 PR #22010
[CI] Fix duplicate job names that bypass branch protection (#22001) 修复绕过分支保护的重复 job 名称问题 PR #22001
[CI] ci: add test_http_server_auth.py to CI (#21866) 将 HTTP 服务器认证测试加入 CI PR #21866
[CI] [Tracing] Add ci for tracing and fix bugs (#21740) 增加 Tracing CI 测试并修复相关 bug PR #21740
[CI] Add timeouts to Slack upload urlopen and WebClient (#21903) 为 Slack 上传操作增加超时 PR #21903
[Misc] Update CI permission (#22014) 更新 CI 权限配置 PR #22014
[diffusion] CI: temporarily disable accuracy ci (#22031) 临时关闭 diffusion 精度 CI PR #22031
[NPU] Update CI Dependency (#21578) 更新 NPU CI 依赖配置 PR #21578
[CI] Remove stale Ascend suite entries from test/srt/run_suite.py (#21978) 清理过期的 Ascend 测试套件条目 PR #21978
[CI] Fix gpu deps import in cpu test (#21950) 修复 CPU 测试中 GPU 依赖导入问题 PR #21950

八、其他变更

Commit Message 总结 PR 链接
[ROCM][RL] Shuffle Weight In-Place to Preserve Parameter Attributes (#21825) ROCM RL 场景下原地 shuffle 权重以保持参数属性 PR #21825
refactor: replace mm_inputs dict with MultimodalProcessorOutput (#21738) 用 MultimodalProcessorOutput 替换 mm_inputs 字典,重构多模态数据处理 PR #21738
[diffusion] chore: fix stage profiler for multi-stage denoising (#21955) 修复多阶段去噪的 stage profiler PR #21955
fix: remove duplicate words in comments (#22007) 清理注释中的重复词汇 PR #22007
Remove logging for subprocess watchdog start (#21968) 移除子进程 watchdog 启动日志 PR #21968
[NPU] Optimized the wording in the npu docs (#21998) 优化 NPU 文档的措辞 PR #21998
[misc] Add hint for kernel release trigger (#22036) 增加 kernel release 触发提示 PR #22036
Remove reverted test (#22058) 移除已回退的测试 PR #22058

重点关注总结

新增模型

  • Transformers 通用后端: 全新 transformers.py,支持 TP/PP/MoE/VLMs/torch compile
  • NVFP4 Marlin 回退: 非 Blackwell GPU(SM75+)可运行 NVFP4 量化
  • GPT-OSS 20B LoRA: 增加 LoRA 微调支持
  • MOVA (NPU): 视频扩散模型
  • Qwen3 VL PP: 流水线并行支持

性能优化

  • JIT Activation: 编译时 activation 内核,用于 MoE 加速
  • FP8 NSA (AMD MI300/MI355): FP8 KV cache + attention kernel
  • GLM4.7 NPU: 专属性能优化
  • 并行状态重构: 2/n 统一 AMD allreduce 路径,1/n 移除 PyNCCL stream
  • sgl-kernel 0.4.1: 内核版本升级

新增环境变量

  • SGLANG_FORCE_NVFP4_MARLIN: 强制 NVFP4 Marlin 回退
  • SGLANG_MUSA_FA3_FORCE_UPDATE_METADATA: MUSA FA3 元数据更新(已回退)

server_args.py 变更

  • 新增 Context Parallel (attn_cp_size > 1) 自动禁用 piecewise CUDA graph 的逻辑