除了通过ranktable文件配置资源信息的方式外,开发者还可以通过本节所述环境变量组合的方式配置资源信息。
环境变量配置资源信息的方式仅适用于TensorFlow框架网络的通信域初始化,仅支持如下型号的产品:
需要在执行训练的每个AI Server节点上分别配置如下环境变量,进行资源信息的配置,示例如下:
1 2 3 4 5 6 | export CM_CHIEF_IP = 192.168.1.1 export CM_CHIEF_PORT = 6000 export CM_CHIEF_DEVICE = 0 export CM_WORKER_SIZE = 8 export CM_WORKER_IP = 192.168.0.1 export HCCL_SOCKET_FAMILY=AF_INET |
例如,环境变量“HCCL_SOCKET_FAMILY”指定为“AF_INET6”,但Device侧只存在IPv4协议的网卡,则实际会使用IPv4协议的网卡。
export HCCL_NPU_SOCKET_PORT_RANGE="auto"
关于环境变量“HCCL_NPU_SOCKET_PORT_RANGE”的详细说明可参见《环境变量参考》中的“执行相关 > 集合通信”章节。
假设执行分布式训练的AI Server节点数量为2,Device数量为16为例,每个AI Server节点有8个Device。启动每个Device上的训练进程前,在对应的shell窗口中配置如下环境变量,进行资源信息的配置。
1 2 3 4 5 | export CM_CHIEF_IP = 192.168.1.1 export CM_CHIEF_PORT = 6000 export CM_CHIEF_DEVICE = 0 export CM_WORKER_SIZE = 16 export CM_WORKER_IP = 192.168.1.1 |
1 2 3 4 5 | export CM_CHIEF_IP = 192.168.1.1 export CM_CHIEF_PORT = 6000 export CM_CHIEF_DEVICE = 0 export CM_WORKER_SIZE = 16 export CM_WORKER_IP = 192.168.2.1 |