HCCL_ALGO

功能描述

此环境变量用于配置集合通信Server间跨机通信算法,支持如下几种取值:
  • ring:基于环结构的并行调度算法,当通信域内Server个数为非2的整数次幂且数量较少时,配置为此算法可提升通信性能。
  • H-D_R:递归二分和倍增算法(Halving-doubling Recursive),当通信域内Server个数为2的整数次幂时,配置为此算法具有较好的亲和性,有助于通信性能提升。
  • NHR:非均衡的层次环算法(Nonuniform Hierarchical Ring),当通信域内Server个数为非2的整数次幂且集群规模较大时,配置此算法可提升通信性能。
  • NB:非均匀的数据块通信算法(Nonuniform Bruck),当通信域内Server个数为非2的整数次幂且集群规模较大时,配置此算法可提升通信性能。当通信域内Server数与通信数据量较大时相对收益会更好。
  • pipeline:流水线并行算法,针对通信数据量较大的场景,该算法可以获得较大的性能提升。当前此算法仅支持Atlas A2训练系列产品/Atlas 800I A2推理产品、多机多卡、非确定性计算场景,且仅支持单算子模式的“AllReduce”、“ReduceScatter”和“AllGather”通信算子,对于不符合使用pipeline算法的场景,内部会根据产品形态、节点数与算子类型自动选择H-D_R或者ring算法。

针对Atlas 训练系列产品,不设置此环境变量时,当通信域内Server的个数为非2的整数次幂时,默认使用ring算法;其他场景默认使用H-D_R算法。

针对Atlas A2 训练系列产品,不设置此环境变量时,内部会根据产品形态、节点数以及数据量自动选择算法。

配置示例

export HCCL_ALGO="level0:NA;level1:NHR"

是否必选

使用约束

当前版本Server内通信算法仅支持配置为“NA”。

支持的型号

Atlas 训练系列产品

Atlas A2 训练系列产品