CANN/HCOMM拓扑层级类型查询

📅 2026/7/13 3:14:36 👁️ 阅读次数 📝 编程学习
CANN/HCOMM拓扑层级类型查询

HcclRankGraphGetTopoTypeByLayer

【免费下载链接】hcommHCOMM(Huawei Communication)是HCCL的通信基础库,提供通信域以及通信资源的管理能力。项目地址: https://gitcode.com/cann/hcomm

产品支持情况

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

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

功能说明

给定通信域和拓扑层级编号,返回本rank所在拓扑层级中的拓扑类型。

以上述拓扑模型为例:

  • Layer 0中包含两个拓扑实例,为方便理解,定义拓扑实例ID分别为0和1。ID为0的拓扑类型为1DMesh,ID为1的拓扑类型为Clos。
  • Layer1中包含1个拓扑实例,拓扑类型为Clos。

函数原型

HcclResult HcclRankGraphGetTopoTypeByLayer(HcclComm comm, uint32_t netLayer, CommTopo *topoType)

参数说明

参数名输入/输出描述
comm输入通信域。
HcclComm类型的定义如下:
typedef void *HcclComm;
netLayer输入拓扑层级编号。
topoType输出拓扑类型,包括1DMesh、Clos、自定义等。
CommTopo类型的定义可参见CommTopo。

返回值

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

约束说明

调用示例

以功能说明的拓扑模型为例。

对于rank0:

HcclComm comm; uint32_t topoType; HcclRankGraphGetTopoTypeByLayer(comm, 0, &topoType); // Layer0的topoType=1 (1DMesh) HcclRankGraphGetTopoTypeByLayer(comm, 1, &topoType); // Layer1的topoType=0 (Clos)

对于rank3:

HcclComm comm; uint32_t topoType; HcclRankGraphGetTopoTypeByLayer(comm, 0, &topoType); // Layer0的topoType=1 (Clos) HcclRankGraphGetTopoTypeByLayer(comm, 1, &topoType); // Layer1的topoType=1 (Clos)

【免费下载链接】hcommHCOMM(Huawei Communication)是HCCL的通信基础库,提供通信域以及通信资源的管理能力。项目地址: https://gitcode.com/cann/hcomm

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