执行摘要
为 NPU 添加空实现的 clear_unaccepted_c128_draft_states
PR #28612 引入了 clear_unaccepted_c128_draft_states 方法,NPU 路径也需要具备同名接口以避免 AttributeError,即使 NPU 上无需实际清理。
值得快速合并以修复 NPU 兼容性。建议未来添加注释说明为何留空,方便后续维护。
无 review 讨论,PR 由 sglang-npu-bot 提交并合并。
PR #28612 引入了 clear_unaccepted_c128_draft_states 方法,NPU 路径也需要具备同名接口以避免 AttributeError,即使 NPU 上无需实际清理。
值得快速合并以修复 NPU 兼容性。建议未来添加注释说明为何留空,方便后续维护。
无 review 讨论,PR 由 sglang-npu-bot 提交并合并。
在文件 python/sglang/srt/hardware_backend/npu/dsv4/dsv4_memory_pool.py 的 NPUDeepSeekV4MemoryPool 类中新增 clear_unaccepted_c128_draft_states 方法,位于 _make_indexer_state_pool 方法之后。方法签名与 CUDA 版本一致,但方法体仅为 pass。
| 文件 | 模块 | 状态 | 重要度 |
|---|---|---|---|
python/sglang/srt/hardware_backend/npu/dsv4/dsv4_memory_pool.py |
NPU 后端 | modified | 6.11 |
python/sglang/srt/hardware_backend/npu/dsv4/dsv4_memory_pool.py
core-logic
新增 clear_unaccepted_c128_draft_states 方法以匹配 CUDA 接口,修复 NPU 上缺少方法定义的 bug。
def clear_unaccepted_c128_draft_states(
self,
req_pool_indices: torch.Tensor,
seq_lens: torch.Tensor,
accept_lens: torch.Tensor,
num_draft_tokens: int,
) -> None:
# NPU 的 fused compressor 不需要实际清理草稿状态,
# 此方法仅提供空实现以匹配 CUDA 接口,
# 避免调用时抛出 AttributeError。
pass
当前评论区没有形成足够清晰的争议点或结论,后续有更多讨论时会体现在这里。
风险极低。新增的方法为空实现(pass),不会改变现有行为。但如果未来 NPU 需要实际清理逻辑,空实现可能被遗忘更新。
仅影响 NPU 硬件后端,修复了调用 clear_unaccepted_c128_draft_states 时抛出的 AttributeError。不影响 CUDA 或其他后端。
当前没有检测到明确关联的 Issue 链接,后续同步到相关引用后会出现在这里。
参与讨论