2026-09-15
NPU 禁用 pinned memory,修复 DP 挂死
值得精读(约 5 分钟)。NPU 平台维护者必读:这是一个典型的「平台新类覆盖基类安全默认值导致死锁」案例,7 行改动换来稳定性。关注三个设计决策:(1)为什么选择无条件 `return False` 而不是保留 device 分支或加环境变量开关——答案是把默认值收敛到与 `SRTPlatform` 一致,避免参数组合分叉;(2)如何用两处独立复现(#36472 作者观察 + Ascend 910C TestDPRetract 压测)为「未验证的异步语义」背书;(3)重开路径的条件是否应该固化成代码注释或跟踪 issue,避免 `remove comments` 之后只剩一行无解释的 `return False`。
修复 DCP 下 MLA 重删 CPU 备份/恢复的 KV 索引越界崩溃
值得精读,尤其对维护 DCP / PD 分离 / HiCache / KV 内存池的同学。重点关注三处设计决策:① 把索引换算从 host pool 方法提升为 `layers/dcp/layout.py` 纯函数的动机与收益;② `_write_loc_dcp_span` + `write_loc_is_dcp_resolved` 这对契约如何避免统一池上的双重换算;③ 为什么可以安全删除「整加宽页」断言——理解 `seqlen - 1` 的 ragged 前缀与「起始页对齐」这个更弱前提的差别。若只关心结论,可记住两点:崩溃触发条件是 DCP>1 时用加宽 id 直接索引 rank 局部 KV buffer;修复方式是 `indices[dcp_rank::dcp_size] // dcp_size`。合并后建议跟进两件事:为 `maybe_dcp_kernel_indices` 补一个起始对齐的显式校验或更强的测试守护,以及排查作者提到的「恢复请求重复 token」独立缺陷。
修复 HiCache 启动时 ImportError 崩溃
值得精读,但属于中等篇幅即可读完的 PR(3 文件、+83/-5)。重点看三处:(1) `_resolve_device_accessible_ptr_fn` 的双重存在性检查(import + `torch.ops`)与 `lru_cache(maxsize=1)` 的收敛设计,这是跨仓库发布顺序错配时的通用处置模式;(2) HIP 上 fail-fast、CUDA 上 fail-soft 的平台分工,背后的依据是 UVA 下 host/device 地址别名关系;(3) 测试如何用 `alloc_with_host_register` + monkeypatch resolver 直接验证回退等价性,以及为什么在缺 op 时选择 skip 而不是 fail。阅读时请额外确认夹带的 `unified_radix_cache.py` 选择器改动(`req_id` → `request.rid`)在本仓库当前签名下确实必要,这行改动没有配套测试。若你是部署/CI 维护者,可作为「AOT op 与调用方必须分两个 PR 落地」的案例收藏。
修复 HiCache registered 内存 CPU/GPU 指针域错配的 GPU 崩溃
值得精读。核心看点是“registered host 内存双地址域”的认知与统一抽象:Python 侧 `make_kernel_ptr_table` 收敛了指针表构建,JIT 侧 `DeviceGuard` 用 RAII 保证多设备正确性,测试覆盖 CUDA Graph 捕获/重放下的指针处理。对涉及 host 内存与自定义内核绑定的开发者有直接参考价值;建议后续将“CPU VA 与 device alias 不得混用”的约束写入内存池模块文档。