通过环境变量配置资源信息
进行训练之前,需要配置参与集群训练的昇腾AI处理器的资源信息。开发者可以通过本节所述的环境变量组合的方式配置资源信息,完成集合通信组件的初始化。
通过环境变量配置资源信息的方式仅支持如下产品型号:
Atlas 训练系列产品
Atlas A2 训练系列产品
配置说明
需要在执行训练的每个AI Server节点上分别配置如下环境变量,进行资源信息的配置,示例如下:
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
- CM_CHIEF_IP、CM_CHIEF_PORT、CM_CHIEF_DEVICE用于配置Master节点的Host监听IP、监听端口与主Device ID。其中Master节点为集群管理主节点,负责集群内设备信息的管理、资源的分配和调度等。
- 监听IP可以通过ifconfig命令进行查询,要求为常规IPv4或IPv6格式。
- 指定的监听端口号需要确保在训练进程拉起时,无其他业务占用。
- CM_WORKER_SIZE:用于配置组网中参与集群训练的Device总数量。
- CM_WORKER_IP:用于配置当前节点与Master进行通信时所用的网卡IP,可通过ifconfig命令查询,要求为常规IPv4或IPv6格式。
- HCCL_SOCKET_FAMILY:此环境变量可选,用于控制Device侧通信网卡使用的IP协议版本。AF_INET代表使用IPv4协议,AF_INET6代表使用IPv6协议,缺省时,优先使用IPv4协议。
如果环境变量“HCCL_SOCKET_FAMILY”指定的IP协议与实际获取到的网卡信息不匹配,则以实际环境上的网卡信息为准。
例如,环境变量“HCCL_SOCKET_FAMILY”指定为“AF_INET6”,但Device侧只存在IPv4协议的网卡,则实际会使用IPv4协议的网卡。
配置示例
假设执行分布式训练的Server节点数量为2,Device数量为16为例,每个Server节点有8个Device。拉起每个Device上的训练进程前,在对应的shell窗口中配置如下环境变量,进行资源信息的配置。
- 节点0,此节点为Master节点,负责集群信息管理、资源分配与调度。
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
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
父主题: 训练执行(环境变量方式设置资源信息)