HcclCommInitRootInfo
产品支持情况
- Ascend 950PR/Ascend 950DT:支持
- Atlas A3 训练系列产品/Atlas A3 推理系列产品:支持
- Atlas A2 训练系列产品/Atlas A2 推理系列产品:支持
- Atlas 推理系列产品:支持
- Atlas 训练系列产品:支持
功能说明
根据rootInfo初始化HCCL,创建HCCL通信域。
该接口在同一进程内支持多线程并发调用,但仅支持单卡单线程的场景,若是单卡多线程,不支持并发调用。
如下图所示,不支持step0与step1并发调用,需要step0执行结束后,再串行执行step1。

函数原型
HcclResult HcclCommInitRootInfo(uint32_t nRanks, const HcclRootInfo *rootInfo, uint32_t rank, HcclComm *comm)
参数说明
| 参数名 | 输入/输出 | 描述 |
|---|---|---|
| nRanks | 输入 | 集群中的rank数量。 |
| rootInfo | 输入 | root rank信息,主要包含root rank的ip、id等信息,由HcclGetRootInfo接口生成。 |
| rank | 输入 | 本rank的rank id。 |
| comm | 输出 | 初始化后的通信域指针。 HcclComm类型的定义可参见HcclComm。 |
返回值
HcclResult:接口成功返回HCCL_SUCCESS,其他失败。
约束说明
同一通信域中所有rank的nRanks、rootInfo均应相同。
调用示例
uint32_t rankSize = 8;
uint32_t deviceId = 0;
// 生成root节点的rank标识信息
HcclRootInfo rootInfo;
HcclGetRootInfo(&rootInfo);
// 初始化通信域
HcclComm hcclComm;
HcclCommInitRootInfo(rankSize, &rootInfo, deviceId, &hcclComm);
// 销毁通信域
HcclCommDestroy(hcclComm);