昇腾/GE LLM数据分发分配缓存块API
📅 2026/7/4 8:46:14
👁️ 阅读次数
📝 编程学习
# allocate_blocks_cache
【免费下载链接】geGE(Graph Engine)是面向昇腾的图编译器和执行器,提供了计算图优化、多流并行、内存复用和模型下沉等技术手段,加速模型执行效率,减少模型内存占用。 GE 提供对 PyTorch、TensorFlow 前端的友好接入能力,并同时支持 onnx、pb 等主流模型格式的解析与编译。项目地址: https://gitcode.com/cann/ge
产品支持情况
- Atlas A3 训练系列产品/Atlas A3 推理系列产品:支持
- Atlas A2 推理系列产品:支持
- Atlas A2 训练系列产品:不支持
函数功能
PagedAttention场景下,分配多个blocks的Cache,Cache分配成功后,可通过deallocate_cache释放内存。
函数原型
allocate_blocks_cache(cache_desc: CacheDesc, blocks_cache_key: Optional[BlocksCacheKey] = None)参数说明
| 参数名称 | 数据类型 | 取值说明 |
|---|---|---|
| cache_desc | CacheDesc | Cache的描述。 |
| blocks_cache_key | Optional[BlocksCacheKey] | 仅当LLMRole为PROMPT时可设置,用于在Decode拉取KV。 |
调用示例
from llm_datadist import BlocksCacheKey num_blocks = 1000 cache_desc = CacheDesc(80, [num_blocks , 128 * 1024], DataType.DT_FLOAT16) blocks_cache_key = BlocksCacheKey(0, 0) kv_cache = kv_cache_manager.allocate_blocks_cache(cache_desc, blocks_cache_key)返回值
正常情况下返回KvCache。
参数错误可能抛出TypeError或ValueError。
执行时间超过sync_kv_timeout配置会抛出LLMException异常。
约束说明
本接口不支持并发调用。
【免费下载链接】geGE(Graph Engine)是面向昇腾的图编译器和执行器,提供了计算图优化、多流并行、内存复用和模型下沉等技术手段,加速模型执行效率,减少模型内存占用。 GE 提供对 PyTorch、TensorFlow 前端的友好接入能力,并同时支持 onnx、pb 等主流模型格式的解析与编译。项目地址: https://gitcode.com/cann/ge
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
编程学习
技术分享
实战经验