修复 ROCm 7.0 构建误用 hipMemcpyBatchAsync
建议快速浏览即可,不需要精读。值得关注的是条件编译守卫的写法:使用 `defined(HIP_VERSION) && HIP_VERSION >= 70200000` 组合判断,既避免宏未定义时的编译错误,又精确控制版本范围,这种模式在跨平台内核代码中很实用。
SGLang is a high-performance serving framework for large language models and multimodal models.
修复 ROCm 7.0 构建误用 hipMemcpyBatchAsync
建议快速浏览即可,不需要精读。值得关注的是条件编译守卫的写法:使用 `defined(HIP_VERSION) && HIP_VERSION >= 70200000` 组合判断,既避免宏未定义时的编译错误,又精确控制版本范围,这种模式在跨平台内核代码中很实用。
gfx950 上 GLM-5.2 MLA absorbed bmm 切到 fused fp8 内核,TPUT 最高 +14%
该 PR 值得精读,两个设计点有复用价值:(1) 用加载期数据变换(bf16 → `fp8_e4m3fn`)去凑齐下游 kernel 选择 gate 的隐式契约,相当于在权重加载层集中做数据流归一化;(2) 输出布局与下游融合算子联合设计,用 free view 取代 per-layer 拷贝。建议读者同时参考 amd-bot 在 Issue 中的 CI 覆盖分析,把它作为“硬件门控改动必须人工补测”的案例;1am9trash 的 NextN / MTP 扩展建议是自然的后续工作。
skip-topk 层免建 Indexer 并省 index-K 缓存,KV 容量提升约 16%
值得精读。核心学习点是“elision 门控 + 预算联动 + 读写跳过”三段式设计:先由 `_should_elide_dsa_index_k` 统一判定哪些场景可以省内存,再让池尺寸计算(`_compute_dsa_indexer_cell_size`)、池构建(`skip_topk_layers` 掩码)和缓存读写(0 行占位 buffer)三处共享同一判定,避免口径漂移。另一个值得关注的点是 CP 分片下用 `max_owned + 1` 的保守上界保证各 rank 容量一致,以及 EAGLE draft 必须 `allocate_all_layers=True` 全额计费。
避免 PREBUILT 批次的未使用 prompt 张量传输,提升 PD 分离性能。
该 PR 值得精读,尤其是 `prepare_for_prebuilt` 的实现细节和注释,反映了对 PD 分离数据流中未使用数据传输的洞察。设计决策值得关注:通过将 `input_ids` 置为 `None` 并依赖 relay 重建输入,避免了多余的 GPU 传输,同时保持了元数据的完整性。建议后续在 PD 分离相关优化中参考此模式。
共享读终点改为仅按 backend 声明解析,删除冗余 phase gate
值得精读。该 PR 是典型的设计简化:通过识别两个冗余 gate,将复杂的哪个阶段发布共享读完成事件收敛到 `last_shared_read_runner` 单一事实源;同时展示了算法特异性约束(NGRAM)如何迫使保留 coarse fence。对于理解 SGLang 的 WAR barrier、speculative decoding 与 CUDA graph runner 的协作有直接帮助。关注点:删除公共方法的迁移影响、NGRAM 清除逻辑的长期维护。
原始 PR · 作者 2044145178 · 合并时间 2026-08-17 16:27
NPU 支持 DSV4 DSpark 推测解码并重构缓存所有权
值得精读,尤其关注三点设计决策:一是 C128 sidecar 所有权模型——只让“完整物理页”进入 Radix 树、部分尾页归请求所有,避免回退到更短前缀的匹配退化和页级引用计数复杂度;二是 cache_mode=2 显式状态块表对 GPU 与 A3 ABI 的适配(`_build_explicit_state_block_table` 的掩码列 clamp + dummy 正数偏移),这是平台差异的优雅收敛点;三是“NPU 专属逻辑下沉到 hardware_backend/npu 并用 guard 隔离”的分层策略。建议后续补上 C128 sidecar 的单元测试与 compact/ragged verify 路径。
Qwen3.8-27B 部署网格基于实测数据重构
值得精读。该 PR 展示了如何用实测数据驱动部署文档、如何通过 overlayDims 避免组合爆炸、以及如何管理未验证组合的表达。review 中关于 `--mamba-backend triton` no-op、FlashInfer GDN prefill 在 SM100 上与 bf16 状态池的关系等讨论,对理解 sglang 的 GDN/SSM 路径有实质帮助。文档中关于状态槽大小、ReplaySSM D=0 等细节的修正也值得借鉴。
修复 CUDA graph 捕获时 sconv track 索引刷新崩溃
值得精读。虽然只有 10 行有效改动,但它演示了如何修复“由另一修复引入的可达性回归”而不破坏原有不变量。重点学习 `on_graph_path` 双重守卫的推导过程,以及作者用精度对照表排除三个候选方案的决策方法。后续为 MTP + Unified Radix Cache 补充 bit-exact 测试时,应把本场景固化为回归用例。
参与讨论