下载
EN
注册

使用前须知

执行分布式训练前,首先参考本节了解一些注意事项。

开发者跨多个进程执行分布式训练时,首先需要配置参与分布式训练的昇腾AI处理器的资源信息,然后再拉起训练进程。

当前有配置文件和环境变量两种配置资源信息的方式,开发者可以选择其中任一方式,但两种方式不能混合使用
执行分布式训练前,请了解如下注意事项:
  1. 针对Atlas 训练系列产品:单Server场景下,要求实际参与集合通信的昇腾AI处理器数目只能为1/2/4/8,且0-3卡和4-7卡各为一个组网,使用2张卡或4张卡训练时,不支持跨组网创建设备集群;Server集群场景,要求参与集合通信的昇腾AI处理器数目只能为1*n、2*n、4*n、8*n(n为参与训练的Server个数),且n为2的指数倍情况下,集群性能最好,建议用户优先采用此种方式进行集群组网。
  2. 针对Atlas A2 训练系列产品,单Server场景,对参与集合通信的昇腾AI处理器数量无限制;Server集群场景要求参与集合通信的昇腾AI处理器数量为(1~8)*n(n为参与训练的Server个数)。建议每个Sever中参与集合通信的昇腾AI处理器数量保持一致,若不一致,会造成性能裂化。
  3. 一个Device对应执行一个训练进程,当前不支持多进程在同一个Device上进行训练。
  4. 分布式训练场景下,HCCL会使用Host服务器的部分端口进行集群信息收集,需要操作系统预留该部分端口。默认情况下,HCCL使用60000-60015端口,若通过环境变量HCCL_IF_BASE_PORT指定了Host网卡起始端口,则需要预留以该端口起始的16个端口。

    操作系统端口号预留示例:sysctl -w net.ipv4.ip_local_reserved_ports=60000-60015