执行摘要
修复 Q8KV8 稀疏预填充测试夹具
PR body 指出,需要保持 Q8KV8 稀疏预填充夹具与 #35947 缓存构建器重构的兼容性。由于 #35947 改变了后端中缓存池的构建方式,测试夹具中未初始化的 token_to_kv_pool 导致测试失败。
值得快速浏览,了解测试夹具与后端重构的耦合关系。建议关注后续是否还有其他测试需要类似调整。
Review 讨论较少,作者请求合并以解锁 CI,审查者 mmangkad 批准了变更。
PR body 指出,需要保持 Q8KV8 稀疏预填充夹具与 #35947 缓存构建器重构的兼容性。由于 #35947 改变了后端中缓存池的构建方式,测试夹具中未初始化的 token_to_kv_pool 导致测试失败。
值得快速浏览,了解测试夹具与后端重构的耦合关系。建议关注后续是否还有其他测试需要类似调整。
Review 讨论较少,作者请求合并以解锁 CI,审查者 mmangkad 批准了变更。
test_q8kv8_sparse_prefill_backend.py 的 _make_sparse_prefill_case 函数中,测试创建了 token_to_kv_pool 对象但未将其赋值给后端。token_to_kv_pool 创建后,立即添加 backend.token_to_kv_pool = token_to_kv_pool 赋值语句。test_q8kv8_sparse_prefill_backend.py 确认修复有效,测试通过。| 文件 | 模块 | 状态 | 重要度 |
|---|---|---|---|
test/registered/kernels/ops/attention/test_q8kv8_sparse_prefill_backend.py |
测试 | modified | 3.28 |
test/registered/kernels/ops/attention/test_q8kv8_sparse_prefill_backend.py
test-coverage
修复测试夹具,将 `token_to_kv_pool` 赋值给后端,以适配 #35947 的重构。
# 测试夹具中初始化后端池引用
from types import SimpleNamespace
import torch
# 创建后端后,将 token_to_kv_pool 赋值给后端,以便后续逻辑使用
token_to_kv_pool = _TokenToKVPool(
swa_key_buffer=quant_k_cache,
extra_key_buffer=extra_k_cache,
full_to_swa_index_mapping=torch.arange(
total_slots, dtype=torch.int64, device=device
),
page_size=page_size,
)
backend.token_to_kv_pool = token_to_kv_pool
当前评论区没有形成足够清晰的争议点或结论,后续有更多讨论时会体现在这里。
该变更仅涉及测试夹具,不影响生产代码。风险极低,但应在 CI 中确保所有后端相关测试通过,防止回归。
影响范围仅限于 Q8KV8 稀疏预填充测试,使 CI 恢复通过。对用户和系统无直接影响。
当前没有检测到明确关联的 Issue 链接,后续同步到相关引用后会出现在这里。
参与讨论