vllm-project/vllm-ascend
[Contribution] 任务 #7:[Perf] `block_hash_to_str` 重复转换
オープン
#14,148 opened on 2026/08/13
help wanted
Repository metrics
- Stars
- (2,637 個のスター)
- PR merge metrics
- (平均マージ 4d 5h) (30d で 559 merged PRs)
説明
背景
_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