昇腾社区首页
中文
注册
开发者
下载

HcclGetHcclBuffer

产品支持情况

产品

是否支持

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

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

Atlas 200I/500 A2 推理产品

Atlas 推理系列产品

Atlas 训练系列产品

针对Atlas A2 训练系列产品/Atlas A2 推理系列产品,仅支持Atlas 800T A2 训练服务器、Atlas 900 A2 PoD 集群基础单元、Atlas 200T A2 Box16 异构子框。

功能说明

获取通信域中的HCCL通信内存。

函数原型

1
HcclResult HcclGetHcclBuffer(HcclComm comm, void **buffer, uint64_t *size)

参数说明

参数名

输入/输出

描述

comm

输入

通信域。

HcclComm类型的定义如下:

1
typedef void *HcclComm;

buffer

输出

HCCL通信内存地址。

size

输出

HCCL通信内存大小,默认为400M。

预期值:按配置项优先级来获取;由于同时存在in cclbuffer和out cclbufer,配置项只配置单块大小,所以输出大小会是配置项的两倍。

配置项优先级:配置项hcclBufferSize(通信域粒度配置)* 2> 环境变量HCCL_BUFFSIZE * 2(全局配置)> 默认值400M

返回值

HcclResult:接口成功返回HCCL_SUCCESS,其他失败。

约束说明

返回的buffer内存由库内管理,调用者严禁释放。

调用示例

1
2
3
4
HcclComm comm;
void *hcclBuffer = nullptr;
uint64_t hcclBufferSize = 0;
HcclResult result = HcclGetHcclBuffer(comm, &hcclBuffer, &hcclBufferSize);