Prhub

sgl-project/sglang · 标签视图

标签列表

聚合结果

memory-pool 相关 PR

2026-09-01
功能 重要性 8.98 洞察度 7.00

统一内存按字节预算定容,新增守恒校验与 bs=1 可行性检查

值得精读。核心设计决策包括:allocator-owned hook + 默认逐位兼容、诊断只读不 raise 的可用性取舍、`_reserved_floor_bytes` 单一事实来源、方向无关的 chain 排序、flooring 而非 rounding 的 4096 B 对齐。对想理解 SGLang 统一内存池演进方向(N 子池、字节准入)的工程师,这是很好的中间态样例,建议结合 #35154 与 #35177 一起阅读。

重构 重要性 6.83 洞察度 5.00

KV 释放、复用断言与存在性检查统一走 KV record

值得精读。重点看 `memory_pool.py` 的 `alloc` / `free` 断言设计与 `scheduler_pp_mixin.py` 的统一释放路径。本 PR 是“断言应基于记录状态而非派生字段”的样板:`holds_kv` 与 `kv_allocated_len` 的语义可以直接复用到后续 unified-memory 改造中。若团队正在做 KV ownership 或 radix cache 相关重构,建议合入后密切观察 dllm / disagg / pp 路径是否有新断言触发。

2026-08-31
重构 重要性 8.71 洞察度 8.00

统一内存池读路径迁移至全部注意力后端,删除钩子并放宽后端白名单

值得精读。这是 unified-memory 存储系列中架构收敛最彻底的一步:1)canonical read table + 生产点翻译的所有权模型,是理解 SGLang 未来 KV 索引架构的必修课;2)enforcement 扫描测试(test_kv_translate_ownership.py)展示了如何用源码级测试固化架构边界,防止设计被静默回退;3)prefix-only 填充纪律(保留后端 -1 尾哨兵)与 CUDA graph 捕获稳定 buffer 的处理是 kernel/backend 开发的实战范例。建议阅读顺序:先看 PR body 的 stack 说明和表格,再读 flashattention_backend.py 的 eager/capture 双路径接线,最后看 test_kv_translate_ownership.py 与 test_unified_mla_block_table.py 如何验证身份等价与字节级等价。

重构 重要性 9.36 洞察度 7.00

统一池 MHA/SWA 改 dense 逐层视图,解锁非 Triton 后端前提

值得精读的架构级 PR。以下设计决策最有借鉴价值: 1. **原子切换的边界意识**:视图、id 空间与尺寸计算三者必须同批切换,任何中间态都会把一套 id 写进另一套视图的行——作者把这一不变量写进 commit message 并以此组织提交顺序。 2. **布局事实收敛到 spec**:`tail_pad`、`blocks_per_page` 均由 `SubPoolSpec` 派生,消除了

重构 重要性 7.68 洞察度 5.00

req_pool_idx 收进 ReqKvInfo,引入 is_held,纯重构

值得精读。它是“无行为变更的大范围结构重构”的范本,可学习三点:一是如何用静态字段删除实现 fail-fast 防遗漏;二是如何用两步 commit 分离“搬迁”与“语义替换”;三是如何用统一假对象(_FakeOwner)消解测试对内部字段的依赖。重点关注 ReqKvInfo 中 req_pool_idx、is_held、is_released、mark_released 四者之间的关系,以及 streaming_session.py 中 save/restore 因字段收敛而简化的写法。

2026-08-30
重构 重要性 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` 模式,它展示了如何用『一条可整体拷贝的记录』替代『多处散落字段的手工同步』。

2026-08-29
缺陷修复 重要性 8.34 洞察度 6.00

HiCache 大池分块注册 cudaHostRegister 并支持回滚

值得精读 `common.py` 的 `_cuda_host_register` 分块与回滚实现,以及各 pool 如何推导 `registration_granularity_bytes`;这是与底层 CUDA API 语义打交道的良好范例,对理解 HiCache 大规模部署的初始化路径有参考价值。建议后续在真实 CUDA 环境跑一次大池初始化/吞吐回归,并关注 layer-first 大池的后续处理。

2026-08-28

#36759 bugfix for index_fill_ on NPU

原始 PR · 作者 sigama-w · 合并时间 2026-08-28 17:41

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

NPU 上修复 index_fill_ 性能问题,改用直接赋值

该 PR 值得关注,尤其是 NPU 平台性能优化思路。其核心设计决策是平台分支处理性能敏感操作,并通过基准测试验证收益。建议在合并前补充针对 NPU 的单元测试,覆盖 `clear_full_to_swa_mapping` 的边界情况,确保长期稳定性。