---
title: register_blocks_cache
description: "| 产品 | 是否支持 |"
url: https://www.hiascend.com/document/detail/zh/canncommercial/latest/API/hixlug/llmprv2_42_0033.html
sourcePath: /source/zh/canncommercial/900/API/hixlug/llmprv2_42_0033.html
indexId: 7723af1c7be90bf09fe3e09764b035f4cf3963c85abbce012c829e3fcdc1bf2361
---
# register_blocks_cache

#### 产品支持情况

| 产品 | 是否支持 |
| --- | --- |
| Atlas 350 加速卡 | x |
| Atlas A3 训练系列产品 / Atlas A3 推理系列产品 | √ |
| Atlas A2 训练系列产品 / Atlas A2 推理系列产品 | √ |
| Atlas 200I/500 A2 推理产品 | x |
| Atlas 推理系列产品 | x |
| Atlas 训练系列产品 | x |


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


#### 函数功能

PagedAttention场景下，调用此接口注册一个自行申请的内存。


#### 函数原型

```
register_blocks_cache(cache_desc: CacheDesc, addrs: List[int], blocks_cache_key: Optional[BlocksCacheKey] = None, remote_accessible: Optional[bool] = None) -> Cache:
```


#### 参数说明

| 参数名称 | 数据类型 | 取值说明 |
| --- | --- | --- |
| cache\_desc | CacheDesc | Cache的描述信息。 |
| addrs | List[int] | Cache的地址。register\_cache中的地址个数与register\_blocks\_cache的地址个数之和不超过240。 |
| blocks\_cache\_key | Optional[BlocksCacheKey] | 可选的BlocksCacheKey索引。 |
| remote\_accessible | Optional[bool] | 指定当前注册内存是否能用来做网络传输，对于Device内存，默认值是True，对于Host内存，默认值是False。 |


#### 调用示例

请单击Gitcode(https://gitcode.com/cann/hixl)，选择配套版本，从“examples/python”目录中获取样例。


#### 返回值

正常情况下返回注册的cache。

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

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


#### 约束说明

如果通过HCCS进行数据传输，且内存不是通过aclrtMalloc申请，则地址需要按照页大小对齐（如果确定页大小是多少，推荐2MB对齐），否则可能导致link失败。该约束支持的型号如下。

- Atlas A3 训练系列产品 / Atlas A3 推理系列产品
- Atlas A2 训练系列产品 / Atlas A2 推理系列产品
