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 文档优化 |
一、新模型与模型增强
引入了一个更强大的 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 的逻辑