vllm-project/vllm-ascend

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

Ouverte

#14 146 ouverte le 13 août 2026

 (2 commentaires) (0 réaction) (0 personne assignée)C++ (2 048 forks)github user discovery
help wanted

Métriques du dépôt

Stars
 (2 637 étoiles)
Métriques de merge PR
 (Merge moyen 4j 5h) (559 PRs mergées en 30 j)

Description

背景

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

Guide contributeur