vllm-project/vllm-ascend

[Contribution] 任务 #7:[Perf] `block_hash_to_str` 重复转换

開放

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

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

倉庫指標

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

描述

背景

_alloc_gvas_for_save(save 侧)里,同一个 group_block_hashes[block_idx] 在 candidate_keys 列表推导、while 循环、for 循环里被 block_hash_to_str.hex())转换 3 次,产生三个内容相同的临时 str。load 侧 key 构造模式相同但只转换 1 次,无此冗余。

相关代码:_alloc_gvas_for_save(save 侧 3 次转换)、_prepare_load_gvas(load 侧仅 1 次,对比)。

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

任务

消除 save 侧 block_hash_to_str 的重复转换。

  • 路径:_alloc_gvas_for_save
  • 目标:同一 hash 在单次 save 流程内只转换一次

验收标准

1. 功能正确性

  • 生成的 key 与改动前一致
  • 现有单测全绿

2. 性能验证

  • save 侧 hex 转换次数从 3× 降到 1×(profile 对比)
  • 长 prompt(block 数大)下收益

3. 交付件

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

环境约定

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

重点关注

任务周期

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

貢獻者指南