vllm-project/vllm-ascend

[Contribution] 任务 #5:[Perf] key 生成嵌套循环开销

開放

#14,146 建立於 2026年8月13日

 (2 則留言) (0 個反應) (0 位負責人)C++ (2,048 個分叉)github user discovery
help wanted

倉庫指標

星標
 (2,637 顆星)
PR 合併指標
 (平均合併 4天 5小時) (30 天內合併 559 個 PR)

描述

背景

scheduler 侧生成查询 key 时有 5 层嵌套 for 循环(block_hash × pcp × dcp × head_or_tp × pp),每个 block 都构造 KeyMetadata + PoolKey 对象再逐层 to_string。命中检查频率受多维并行配置累乘影响。

相关代码:_generate_store_query_keys

相关代码路径:vllm_ascend/distributed/kv_transfer/kv_pool/ascend_store

任务

降低 key 生成的 Python 层开销。

  • 路径:scheduler 侧 _generate_store_query_keys
  • 目标:消除逐对象构造与逐层 to_string 的开销

验收标准

1. 功能正确性

  • 生成的 key 集合与改动前完全一致(集合相等)
  • 现有单测全绿

2. 性能验证

  • 该函数耗时下降(profile 对比)
  • 多 PP / 多 head_or_tp 组合下的收益

3. 交付件

  • PR + 设计说明 + 性能数据 + 单测

环境约定

  • vllm-ascend:最新 main
  • 硬件:Ascend NPU(注明型号 + 卡数 + TP/CP/PP 配置)
  • 关联任务池:#9079
  • 验收人:@赵鹏博

重点关注

  • PCP/DCP 通常为 1,收益主要来自 head_or_tp / pp 维度

任务周期

  • 发布:2026-08-12
  • 回收:2026-10-31

貢獻者指南