算法选择
选择策略
通信算法的选择在很大程度上决定了通信算子的整体性能表现,为应对不同的网络拓扑、通信数据量以及硬件资源,一个通信算子往往具有多种算法实现。在实际分布式集群场景中,需要根据具体场景,综合考量选择拓扑亲和的通信算法,以实现通信效率的最大化。
图1 通信算法选择示意图


如上图所示,通信算子拥有多种算法实现,根据拓扑信息选择最优通信算法:
- Ring算法实现:算法编排在AI CPU侧,适用于Server内物理拓扑为Ring的场景。
- Mesh算法实现:算法编排在AI CPU侧,适用于Server内物理拓扑为Mesh的场景。
代码示例
以选择策略章节介绍的算法选择策略为例,对应的算法选择代码片段如下:
1 2 3 4 5 6 7 | if (algType == ALG_LEVEL0_NP_DOUBLE_RING || algType == ALG_LEVEL0_NP_SINGLE_RING) { algName = "Ring"; // 根据拓扑信息选择使用Ring算法 } else if (algType == ALG_LEVEL0_NP_MESH) { algName = "Mesh"; // 根据拓扑信息选择使用Mesh算法 } else { return HCCL_E_NOT_SUPPORT; } |
父主题: 通信算子开发
