CANN/hixl缓存接口文档

📅 2026/7/16 5:40:45 👁️ 阅读次数 📝 编程学习
CANN/hixl缓存接口文档

Cache

【免费下载链接】hixlHIXL(Huawei Xfer Library)是一个灵活、高效的昇腾单边通信库,面向集群场景提供简单、可靠、高效的点对点数据传输能力。项目地址: https://gitcode.com/cann/hixl

产品支持情况

产品是否支持
Ascend 950PR/Ascend 950DT
Atlas A3 训练系列产品/Atlas A3 推理系列产品
Atlas A2 训练系列产品/Atlas A2 推理系列产品

说明:针对Atlas A2 训练系列产品/Atlas A2 推理系列产品,仅支持Atlas 800I A2 推理服务器、A200I A2 Box 异构组件。

Cache构造函数

构造Cache,该接口通常不需要用户调用,Cache对象由CacheManager里的allocate_cache、allocate_blocks_cache、register_cache或register_blocks_cache返回。

cache_id

函数功能

获取Cache的id。

函数原型

@property cache_id() -> int

参数说明

调用示例

... kv_cache = cache_manager.allocate_cache(cache_desc, cache_keys) print(kv_cache.cache_id)

返回值

正常情况返回类型为Cache的id。

约束说明

cache_desc

函数功能

获取Cache描述。

函数原型

@property cache_desc() -> CacheDesc

参数说明

调用示例

... kv_cache = cache_manager.allocate_cache(cache_desc, cache_keys) print(kv_cache.cache_desc.num_tensors)

返回值

正常情况返回类型为Cache的cache描述。

约束说明

tensor_addrs

函数功能

获取Cache的地址。

函数原型

@property tensor_addrs() -> List[int]

参数说明

调用示例

... kv_cache = cache_manager.allocate_cache(cache_desc, cache_keys) print(kv_cache.tensor_addrs)

返回值

正常情况返回类型为Cache的地址。

约束说明

create_cpu_cache

函数功能

创建cpu cache。

函数原型

create_cpu_cache(cache_desc: CacheDesc, addrs: List[int])

参数说明

参数名称数据类型取值说明
cache_descCacheDesccache的描述。
addrsList[int]cpu cache的地址。

调用示例

from llm_datadist import Cache cpu_cache = Cache.create_cpu_cache(cpu_cache_desc, cpu_addrs) # cpu_addrs来自创建的cpu tensors

返回值

正常情况返回类型为Cache的cpu_cache。

传入数据类型错误情况下会抛出TypeError或ValueError异常。

传入参数为None,会抛出AttributeError异常。

约束说明

【免费下载链接】hixlHIXL(Huawei Xfer Library)是一个灵活、高效的昇腾单边通信库,面向集群场景提供简单、可靠、高效的点对点数据传输能力。项目地址: https://gitcode.com/cann/hixl

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考