SGLang 每日 Commit 总结
日期: 2026-04-12 (UTC+8)
总提交数: 22
时间范围: 2026-04-12 00:00 ~ 24:00 (UTC+8)
概述
昨日的 22 个 commit 主要集中在以下几个领域:Diffusion 模型支持增强(LTX2.3 两阶段、ModelOpt 量化)、性能优化(AMD GLM-5、Whisper 批量编码、Tokenizer 流式优化)、Bug 修复、LoRA MoE Marlin 后端支持、Unified Radix Cache 和 Breakable CUDA Graph 新特性、以及 CI 基础设施改进。
新模型/新功能
重点内容
- LTX2.3 两阶段支持: 为 Diffusion 模型 LTX2.3 添加了两阶段推理支持
- ModelOpt 量化 FLUX: 启用了 ModelOpt 量化后的 FLUX 模型部署
- Unified Radix Cache: 新增统一的 Radix 缓存架构,支持 Full、SWA、Mamba、Tree 等多种缓存组件
- Breakable CUDA Graph: 新增可中断的 CUDA Graph 执行机制
- LoRA MoE Marlin 后端: 解耦了 LoRA MoE 后端,新增 Marlin 支持
详细提交
| Commit Message |
总结 |
PR 链接 |
[diffusion] model: support LTX2.3 two stage (#22182) |
为 LTX2.3 模型添加两阶段推理支持,优化 denoising 和 latent preparation 流程 |
PR #22182 |
[diffusion] quant: enable modelopt quantized FLUX deployment (#20082) |
启用 ModelOpt FP8 量化支持,使 FLUX 模型可以以量化形式部署,新增 modelopt_fp8.py 量化层 |
PR #20082 |
[lora][moe] Decoupled LoRA MoE backend with Marlin support (#21858) |
解耦 LoRA MoE 后端架构,新增 Marlin 后端支持,优化 compressed-tensors 量化方案,提升 LoRA+MoE 组合场景性能 |
PR #21858 |
VLM: support passing --mm-process-config for all models (#18467) |
使所有 VLM 模型支持通过 –mm-process-config 参数自定义多模态处理配置,新增验证逻辑和测试 |
PR #18467 |
性能优化
重点内容
- AMD GLM-5 优化: 针对 AMD 平台的 GLM-5 模型进行 NSA 后端性能优化
- Whisper 批量编码: 实现 Whisper 模型的批量 encoder forward,提升并发 prefill 请求的吞吐量
- Tokenizer 流式优化: 消除非增量流式场景下的 O(n²) 拷贝问题
- AMD AllReduce + RMSNorm 融合: 简化融合 allreduce + RMSNorm 操作,移除 hidden_dim 白名单限制
详细提交
| Commit Message |
总结 |
PR 链接 |
[Not-Merge][AMD] GLM-5 performance optimization (#21166) |
优化 AMD 平台 GLM-5 模型的 NSA 后端性能,移除不必要的 nsa_indexer 依赖 |
PR #21166 |
[AMD][No-Merge] Simplify fused allreduce + RMSNorm and remove hidden_dim allowlist (#21986) |
简化 AMD 平台融合 allreduce + RMSNorm 实现,移除 hidden_dim 白名单限制,使更多模型尺寸受益 |
PR #21986 |
[Whisper] Batch encoder forward for concurrent prefill requests (#22361) |
实现 Whisper 模型 encoder 的批量 forward,优化并发 prefill 请求的处理效率 |
PR #22361 |
[tokenizer] eliminate O(n²) copy in non-incremental streaming (#22567) |
消除 tokenizer_manager 中非增量流式场景下的 O(n²) 拷贝问题,提升长文本流式输出性能 |
PR #22567 |
Bug 修复
重点内容
- Streaming Session 双重计数: 修复流式会话 busy check 的双重计数问题
- SWA 输入长度限制: 修复 Sliding Window Attention 的输入长度限制问题
- Model Config 删除: 修复 model_config 删除逻辑的 bug
- Prefill TPS 日志: 修复 prefill TPS 指标日志的准确性问题
- RL 权重更新: 修复 mxfp8 flashinfer_cutlass gemm 后端的权重更新问题
详细提交
| Commit Message |
总结 |
PR 链接 |
Fix streaming session busy check double-counting; add compat CI tests (#22213) |
修复 session_aware_cache 中流式会话 busy check 的双重计数 bug,添加兼容性 CI 测试 |
PR #22213 |
Fix swa input length limitation (#22597) |
修复 SWA(Sliding Window Attention)场景下输入长度限制的问题,涉及 schedule_policy 和 model_runner |
PR #22597 |
[Bugfix] fix model_config deletion (#22281) |
修复 http_server 和 scheduler 中 model_config 删除逻辑的 bug |
PR #22281 |
fix prefill tps log accuracy (#22497) |
修复 scheduler_metrics_mixin 中 prefill TPS 日志计算的准确性问题 |
PR #22497 |
[RL] Fix weight update for mxfp8 flashinfer_cutlass gemm backend (#22484) |
修复 RL 场景下 mxfp8 flashinfer_cutlass gemm 后端的权重更新逻辑 |
PR #22484 |
[Test] Fix flaky test_function_call_specific by adding strict=True (#22624) |
修复 function calling 测试的 flaky 问题,添加 strict=True 参数 |
PR #22624 |
server_args.py 新增参数
重点内容
- –quantization unquant: 新增
unquant 选项,允许用户显式选择不使用量化
详细提交
| Commit Message |
总结 |
PR 链接 |
[server] Add --quantization unquant to explicitly opt out of quantization (#21863) |
在 QUANTIZATION_CHOICES 中新增 unquant 选项,用户可显式禁用量化;新增 _quantization_explicitly_unset 标志防止自动量化检测覆盖用户意图 |
PR #21863 |
参数说明:
--quantization unquant: 当用户希望明确禁用任何自动检测的量化时使用,适用于某些模型自带量化配置但用户希望以非量化方式运行的场景
新增环境变量
重点内容
- SGLANG_ENABLE_UNIFIED_RADIX_TREE: 控制是否启用统一的 Radix 树缓存架构
详细提交
| Commit Message |
总结 |
PR 链接 |
Add unified radix cache infrastructure (隐含在多个 commit 中) |
新增 SGLANG_ENABLE_UNIFIED_RADIX_TREE 环境变量(默认 False),用于控制是否启用新的统一 Radix 缓存架构;该架构支持 Full、SWA、Mamba、Tree 四种缓存组件 |
[PR 待确认] |
环境变量说明:
SGLANG_ENABLE_UNIFIED_RADIX_TREE: 布尔值,默认 False,启用后将使用新的统一 Radix 缓存系统替代现有缓存架构
其他重要改动
DSA (DeepSeek Attention) 优化
| Commit Message |
总结 |
PR 链接 |
[DSA] Hopper FP8 FlashMLA KV padding (#22372) |
优化 Hopper 架构 FP8 FlashMLA 的 KV padding 策略,将 nsa_prefill_backend 默认从 flashmla_auto 改为 flashmla_kv |
PR #22372 |
SWA 内存检查增强
| Commit Message |
总结 |
PR 链接 |
Add SWA support for runtime busy memory check (#21499) |
在 scheduler 运行时内存检查中添加对 SWA(Sliding Window Attention)的支持 |
PR #21499 |
CI/基础设施改进
详细提交
| Commit Message |
总结 |
PR 链接 |
[diffusion] CI: dynamic load-balanced partitioning for diffusion CI (#15528) |
为 Diffusion CI 实现动态负载均衡分区,新增 compute_diffusion_partitions.py、diffusion_case_parser.py、verify_diffusion_coverage.py 等工具 |
PR #15528 |
[CI] Update B200 est_times to prevent timeouts on slower machine (#22609) |
更新 B200 测试的预估时间,防止在较慢的机器上超时 |
PR #22609 |
ci: use local NVIDIA wheels to avoid re-downloading ~2GB every CI run (#22602) |
使用本地缓存的 NVIDIA wheels,避免每次 CI 运行重复下载约 2GB 文件 |
PR #22602 |
[CI] Remove Slack bot from CI failure monitor (#21581) |
从 CI 失败监控中移除 Slack 通知机器人 |
PR #21581 |
[CI] Little renaming of gb200 CI workflow (#22608) |
将 GB200 CI 工作流从 nightly-perf-regression-gb200.yml 重命名为 nightly-72-gpu-gb200.yml |
PR #22608 |
总结
昨日 SGLang main 分支共有 22 个 commit,主要进展包括:
- Diffusion 模型: LTX2.3 两阶段支持和 ModelOpt 量化 FLUX 部署
- 性能优化: AMD GLM-5 优化、Whisper 批量编码、Tokenizer 流式 O(n²) 修复、AMD AllReduce 融合优化
- 新特性: Unified Radix Cache 架构、Breakable CUDA Graph、LoRA MoE Marlin 后端
- Bug 修复: 6 个关键 bug 修复,涵盖 streaming session、SWA、model_config、TPS 日志、RL 权重更新等
- 参数/环境变量: 新增
--quantization unquant 参数和 SGLANG_ENABLE_UNIFIED_RADIX_TREE 环境变量
- CI 改进: Diffusion CI 动态负载均衡、NVIDIA wheels 缓存优化、B200 超时调整