Prhub

sgl-project/sglang

SGLang is a high-performance serving framework for large language models and multimodal models.

监控状态:已开启 最近同步:2026-09-01 19:08 同步状态:空闲 下次计划:2026-09-01 20:08

PR 列表

更多筛选
2026-08-30
性能优化 重要性 6.95 洞察度 6.00

多模态 embedding 改用 index_copy_ 合并,削减 prefill 瞬时显存

值得精读。这是一个典型的“PyTorch 高 Layer 算子隐藏瞬时内存分配”的优化案例,展示了如何用 `cumsum` + 哨兵槽位实现低内存且 fail-loud 的 scatter 语义。关注两点设计:一是刻意避免 `torch.where`/`nonzero` 以维持无同步路径,二是用 `num_src_rows` 毒化槽位把行数不匹配变成设备端断言而非静默损坏。若后续在 CUDA 上补齐同样的回归测试,风险将进一步收敛。

#37092 [AMD] Update v4 amd cookbook 0830

原始 PR · 作者 1am9trash · 合并时间 2026-08-30 14:55

文档 重要性 4.71 洞察度 2.00

更新 DeepSeek-V4 AMD cookbook 配置与镜像标签

建议快速浏览即可,无需精读。值得关注的设计信号是 AMD 团队在 ROCm 7.2 上对 DeepSeek-V4 的推荐参数组合:TORCH_BLAS_PREFER_HIPBLASLT=1 与 16384 chunked-prefill 的搭配;在 AMD 上部署的用户可先小规模验证显存峰值与吞吐后再全量采用。另注意 PR 标题写 0830 而实际镜像标签 bump 到 0829,日期命名略有不一致。

缺陷修复 重要性 5.58 洞察度 5.00

修复 disaggregation 中任务引用丢失,防止后台任务被 GC 回收

值得精读,但收益主要在“模式”而不是“逻辑”:这是一个将 asyncio 官方建议落地为统一代码惯用法的教科书式小补丁。推荐关注三点:set + `add_done_callback(set.discard)` 的组合如何同时解决强引用与自动释放;rebase 过程中如何识别出上游已用 `asyncio.wait` 兜住引用的变化并主动丢弃 hunk;以及审阅者关于 hardening 与 bugfix 的定性争论——它提醒我们在评估此类修复时要区分“理论隐患”与“实际触发路径”。

重构 重要性 5.42 洞察度 4.00

将 kv_committed_len 写入收拢进 KV 分配函数

值得快速阅读,不必精读。重点关注两个 alloc 函数尾部循环的「分配即提交」记账模式,以及 `_OWNER_SITES` 用 mutation-count 强制审计写入点归属的测试设计——这是 sglang 保护核心记账不变量的一种轻量而有效的做法。对于想理解 owned-KV 解耦重构链的读者,可把它作为入口之一。

重构 重要性 6.71 洞察度 4.00

将 kv_committed_len 收进 ReqKvInfo,统一 KV 行三段长度记录

值得快速浏览并作为理解 SGLang KV 所有权模型的起点:`ReqKvInfo` 的三段式长度阶梯是后续所有 KV 生命周期逻辑(分配、提交、保护、SWA 淘汰)的统一入口。对内存管理模块感兴趣的同学建议精读 `schedule_batch.py` 的 `ReqKvInfo` 定义与 `streaming_session.py` 的 `save_from_req` / `restore_to_req` 模式,它展示了如何用『一条可整体拷贝的记录』替代『多处散落字段的手工同步』。

缺陷修复 重要性 6.17 洞察度 6.00

为 stop 与 stop_regex 加上限,超限请求返回 400

值得精读,虽然只有 60 行改动,但 review 交锋展示了"参数校验应放在数据归一化的必经漏斗(`SamplingParams.normalize()`)而不是请求入口(`GenerateReqInput`)"的架构判断,以及 Python / Rust 双实现如何对齐(错误消息、常量名、限制数量)。作者第一版放错位置被驳回、第二版按要求迁移并补齐限制的过程,是 API 防护与校验分层的典型案例。

缺陷修复 重要性 7.37 洞察度 8.00

修复 ROCm QuickReduce BF16→FP16 溢出造成的非有限输出

值得精读。核心亮点是三层防御:FP16_OVFL 寄存器饱和兜底、per-codec 的 2 幂范围保护(分析清楚为什么量化 codec 不能用)、显式 ISA 转换阻断编译器重排。提交历史中的 S = 16 → 2 → 1 调参过程展示了如何用端到端 perplexity 和相对 L2 数据驱动数值设计决策,是内核级数值修复的可借鉴范本。建议同时阅读 #37132 的空 asm barrier 替代方案,理解 CDNA 系列 ISA 差异对可移植性的约束。

缺陷修复 重要性 3.12 洞察度 2.00

ROCm 镜像 cherry-pick aiter 提交,修复 v4 fp4 kv-cache 问题

该 PR 改动极小(+2/-0、单文件),技术含量不高,但体现了一个值得注意的维护模式:在依赖 aiter 的 Dockerfile 构建链中以 cherry-pick 方式提前下放上游补丁。适合快速浏览确认构建链语义,无需精读;建议合并后登记跟踪项,确保 aiter 升级时清理。

参与讨论