当前位置: 首页 > news >正文

华为通信/CANN hcomm查询拓扑信息

查询拓扑信息

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

背景

为了应对复杂的网络拓扑结构,通信算子需要根据通信域的拓扑结构选择最匹配的算法,为此,HCCL控制面提供了拓扑信息查询功能,供开发者使用。

拓扑信息

HCCL控制面接口支持查询的拓扑信息如下表所示。

拓扑信息查询接口
获取Device在指定通信域中对应的rank序号。HcclGetRankId
查询指定通信域的rank数。HcclGetRankSize
查询包含当前rank的拓扑层级编号列表以及拓扑层级数量。HcclRankGraphGetLayers
给定通信域和拓扑层级编号,返回该层级下本rank所在拓扑实例的所有rank编号列表以及rank数量。HcclRankGraphGetRanksByLayer
给定通信域和拓扑层级编号,返回该层级下本rank所在拓扑实例的rank数量。HcclRankGraphGetRankSizeByLayer
给定通信域和拓扑层级编号,返回本rank所在拓扑层级中的拓扑类型。HcclRankGraphGetTopoTypeByLayer
给定通信域和拓扑层级编号,查询该层级下的拓扑实例数量,以及每个实例包含的rank数量。HcclRankGraphGetInstSizeListByLayer
给定通信域和拓扑层级编号,查询源rank和目的rank之间的通信连接信息。HcclRankGraphGetLinks

代码示例

  • 查询通信域内当前rank的id。

    u32 userRank = INVALID_VALUE_RANKID; HcclResult ret = HcclGetRankId(comm, &userRank); if (userRank == root && sendBuf == nullptr) { // root节点的send_buff不允许为空 return HCCL_E_PTR; }
  • 查询通信域的rank数量。

    u32 rankSize = INVALID_VALUE_RANKSIZE; HcclResult ret = HcclGetRankSize(comm, &rankSize); if (userRank >= rankSize) { // rank_id 超出范围 return HCCL_E_PARA; }
  • 查询本卡与Server内0号卡之间的链路信息。

    u32 dstRank = 0; u32 srcRank = rank; CommLink *linkList = nullptr; u32 listSize = 0; HcclResult ret = HcclRankGraphGetLinks(comm, 0, srcRank, dstRank, &linkList, &listSize); for (u32 i = 0; i < listSize; ++i) { CommLink& currentLink = linkList[i]; // 枚举所有链路对象 if (currentLink.linkAttr.linkProtocol == CommProtocol::COMM_PROTOCOL_HCCS) { // 对HCCS链路的判断处理 } }
  • 查询本卡所在通信域包含的超节点数量。

    u32 *netlayers = nullptr; u32 netLayersNum = 0; HcclResult ret = HcclRankGraphGetLayers(comm, &netlayers, &netLayersNum); // 获取通信域中包含的通信网络层次 u32 superPodNum; u32 level1RankListNum = 0; u32 *level1SizeList = nullptr; if (netLayersNum == 3) { // 超节点场景 ret = HcclRankGraphGetInstSizeListByLayer(comm, 1, &level1SizeList, &level1RankListNum); superPodNum = level1RankListNum; }

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

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

http://www.jsqmd.com/news/782897/

相关文章:

  • CANN/hcomm通信操作API文档
  • Graph-autofusion super_kernel极简示例
  • 如何快速掌握大气层系统:从新手到专家的终极指南
  • 构建基于Python与机器学习的智能客服
  • 如何高效准确实现表面测温
  • AFSIM 5.3.1在Visual Studio 2015下的详细配置步骤
  • CANN/SHMEM快速使用指南
  • 企业内如何通过Taotoken实现AI模型调用的统一审计与风控
  • ECU-TEST 测试报告自动上传(含代码实现)
  • CANN/ge C++ ES API兼容性设计
  • 可解释AI(XAI)实践指南:从模型透明到业务可信
  • 网盘直链下载助手:九大主流网盘免登录高速下载解决方案
  • 离海数百公里,他们为孩子造了一片“海”
  • 长期使用Taotoken服务在API延迟与稳定性方面的实际感受分享
  • cann/cannbot-skills Kernel定义内存分配
  • CANN/ops-cv NMS掩码算子
  • AI应用上线前必做的5项安全验证:基于SITS2026标准的CI/CD嵌入式检测清单
  • 2026年北京全屋高端定制现代简约风格公司测评与选型指南
  • 泰山派3M-RK3576-系统开发与编译-Buildroot系统-编译内核
  • CANN运行时资源限制内核加载示例
  • Switch游戏文件管理神器:NSC_BUILDER让你告别格式混乱烦恼
  • test000009913
  • 对比多个模型 API 供应商后我为何选择 Taotoken 作为主用平台
  • 模型诊断与知识库调试:从冲突集到高效算法的工程实践
  • 网上祭祀平台哪个更便捷
  • Arm DynamIQ架构性能监控单元(PMU)设计与实战
  • N_m3u8DL-RE终极指南:三步搞定加密流媒体下载,永久保存你喜爱的视频内容
  • CANN/cann-recipes-infer SwigluClipQuant算子
  • CANN/pyasc MDL配置API文档
  • 泰山派3M-RK3576-系统功能-Buildroot-音频功能