---
title: HcclCommActivateCommMemory
description: "本接口为试用接口，后续可能存在变更，暂不支持应用于生产环境。"
url: https://www.hiascend.com/document/detail/zh/canncommercial/latest/API/hcclug/hcclcpp_07_0056.html
sourcePath: /source/zh/canncommercial/900/API/hcclug/hcclcpp_07_0056.html
indexId: 0cb2f3ded1fb053f41c3f03306d53a434f4c5e25c4394a89cf00f0dd0481bb5e61
---
# HcclCommActivateCommMemory

本接口为试用接口，后续可能存在变更，暂不支持应用于生产环境。


#### 产品支持情况

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


#### 功能说明

激活预留的虚拟内存，只有使用激活后的内存作为通信算子的输入、输出才可启用零拷贝功能。


#### 函数原型

```
HcclResult HcclCommActivateCommMemory(HcclComm comm, void *virPtr, size_t size, size_t offset, aclrtDrvMemHandle handle, uint64_t flags)
```


#### 参数说明

| 参数名 | 输入/输出 | 描述 |
| --- | --- | --- |
| comm | 输入 | HCCL通信域，建议使用Server内最大的通信域，即覆盖最大卡数的通信域。 |
| virPtr | 输入 | 需要激活的虚拟内存地址，即用户调用aclrtMapMem(https://www.hiascend.comdocument/detail/zh/canncommercial/900/API/runtimeapi/aclcppdevg\_03\_0116.html)接口进行物理内存与虚拟内存映射时，传入的待映射的虚拟内存地址。 |
| size | 输入 | 需要激活的内存大小，单位：Byte。 |
| offset | 输入 | 预留字段。 当前仅支持配置为“0”。 |
| handle | 输入 | 申请的物理内存信息handle，即用户调用aclrtMallocPhysical(https://www.hiascend.comdocument/detail/zh/canncommercial/900/API/runtimeapi/aclcppdevg\_03\_0112.html)接口申请的Device物理内存信息handle。 |
| flags | 输入 | 预留字段。 当前仅支持配置为“0”。 |


#### 返回值

HcclResult：接口成功返回HCCL_SUCCESS，其他失败。


#### 约束说明

- 待激活的虚拟内存地址必须在  HcclCommSetMemoryRange
设置的地址范围内。
- 该虚拟内存地址不能与已经激活的虚拟内存地址有重叠、交叠。
