TP>1 确定性推理固定 NCCL channel 数,消除 prefill/decode 差异
该 PR 值得精读,尤其适合对 NCCL 确定性机制感兴趣的工程师:它揭示了“算法固定”不等于“消息大小无关”这一深层细节,以及用 `NCCL_MIN/MAX_NCHANNELS` 同时 pin 来消除 channel 数影响的做法。建议后续补充针对 channel pin 的专项回归测试,并在文档中给出 `SGLANG_DETERMINISTIC_NCCL_NCHANNELS` 的调参指引。
SGLang is a high-performance serving framework for large language models and multimodal models.
TP>1 确定性推理固定 NCCL channel 数,消除 prefill/decode 差异
该 PR 值得精读,尤其适合对 NCCL 确定性机制感兴趣的工程师:它揭示了“算法固定”不等于“消息大小无关”这一深层细节,以及用 `NCCL_MIN/MAX_NCHANNELS` 同时 pin 来消除 channel 数影响的做法。建议后续补充针对 channel pin 的专项回归测试,并在文档中给出 `SGLANG_DETERMINISTIC_NCCL_NCHANNELS` 的调参指引。
新增 Inkling-Small-NVFP4 真实 checkpoint 的 CI 精度测试
值得精读。该 PR 展示了如何为真实量化模型设计 CI 精度门控:使用真实 checkpoint 而非缩小版、基于抽样噪声设置合理阈值、选择与部署一致的硬件和后端参数。对于维护量化模型测试或 CI 门控的工程师有参考价值,但需注意其外部依赖和资源成本。
复用 Mamba 边界 mask,decode 结果处理提速约 18%
值得精读。核心看点有三:一是如何在不改变前向语义的前提下,用“预计算 + lookahead 快照选择”消除热路径上的重复计算;二是面对 #31369 被回滚的历史,如何用 `kv_committed_len` 权威化 + 断言 + 模拟 overlap 调度器的单元测试重建正确性信心;三是 `ScheduleBatch.copy()` 只快照 reqs 列表而 `Req` 对象共享,导致 `decode_batch_idx` 被下一轮推进这一隐蔽时序问题的处理方式。建议重点读 `_handle_finish_state_updated_req` 的 mask 选择分支,以及 `prepare_for_decode` 中 `mamba_track_mask_next_cpu` 仅随 `enable_overlap` 生成的条件。
原始 PR · 作者 niehen6174 · 合并时间 2026-08-09 16:26
新增 Sol-Attn 稀疏注意力后端,H3 去噪提速 1.15-1.23×
值得精读 `sol_attn.py` 与 `cuda.py`:展示了可选三方内核接入 sglang 的标准模式(枚举注册、懒加载 resolver、dense guard 兜底),以及 diffusion 场景下"质量-性能"权衡的参数化设计。对想扩展 diffusion 稀疏注意力后端或理解注意力后端插件机制的开发者有直接参考价值。建议重点关注 `_should_use_dense` 的层/步混合门控与 `_resolve_kv_splits` 的硬件自适应逻辑。
DCP 拓扑改由 ParallelState 派生,统一为 attn_dcp_* 命名
值得精读。变更虽只有 +15/-15,但包含三个有价值的设计决策:(1) 进程级事实与 per-worker 状态的边界划分——`get_parallel()` 无法表达 draft 差异,而显式传入的 `ParallelState` 可以;(2) 构造时序约束下的 rank 推导(`tp_rank % dcp_size`)及其与既有 `attn_cp_rank` 等字段的一致性规约,commit 历史中“引入再删除 `compute_dcp_rank`”的演进尤其值得注意;(3) 与 #32858 的职责互补关系(KV-head 布局 vs runner 拓扑)。建议结合 #32858 与 #33925 一起阅读,能完整理解 SGLang DCP 并行状态建模的演进脉络。
K3 图片预处理延迟至 vision owner,高负载 TTFT -79%
值得精读。这是多模态特征传输中“载荷最小化 + 延迟物化到消费方”的完整案例:决策门控(transport + dtype + 字节启发式)、数据契约(uint8 feature + deferred config 键)、消费端单点物化与调度白名单四者缺一不可。建议阅读顺序:processor 的 `_should_defer_gpu_preprocessing` 与 `_build_deferred_output` → 模型侧 `materialize_item_features` 的 deferred 分支 → `mm_schedule.py` 的白名单一行。合并后建议补充:非 EPD 启动路径回归测试、混合 batch 的显式优雅处理(当前直接 ValueError)。
修复权重同步按 GPU UUID 选择载荷,支持 SP 多 GPU 引擎
值得精读。PR 展示了跨仓库数据契约的设计思路:用物理 GPU UUID 做显式配对,把“巧合正确”变成“必然正确”,并把不匹配升级为响亮失败。回退到世界秩索引的兼容策略也值得借鉴。建议后续为 `_select_own_gpu_payload` 补上针对标签匹配、长度校验、无标签回退和 UUID 归一化的单元测试,并确认 `get_device_uuid` 在各硬件平台可用。
原始 PR · 作者 merrymercy · 合并时间 2026-08-09 15:22
logits 处理器辅助函数移到底部并统一 FIXME 注释
本 PR 不值得精读实现细节,但可以作为「低风险代码整理」的样例:移动模块级函数、收敛重复注释、在 dataclass 中标注临时字段时,如何保持行为不变同时提升可维护性。对 logits 处理器模块感兴趣的人可以借此了解 `mm_input_embeds` 的已知设计债(FIXME 指向 GenerationBatchResult 迁移方向)。
参与讨论