本章节介绍通过环境变量设置资源信息,启动训练任务,包含单机单卡和单机多卡场景。
使用该方案启动训练任务,需要设置如下环境变量。详细的配置环境变量的方法可参考little-demo的配置文件;关于环境变量的说明可参见配置环境变量。
CM_CHIEF_IP={host_ip} CM_CHIEF_PORT=60000 CM_CHIEF_DEVICE=0 CM_WORKER_IP={host_ip} CM_WORKER_SIZE=8
下面的示例以环境中可见8卡为例,卡逻辑ID列表为[0,1,2,3,4,5,6,7]
连续用卡 |
export CM_CHIEF_DEVICES=0 |
表示0、1卡参与训练 |
---|---|---|
export CM_CHIEF_DEVICES=4 |
表示4、5卡参与训练 |
|
非连续用卡 |
export ASCEND_RT_VISIBLE_DEVICES=1,3,5,7 如果创建容器的时候是连续卡,要使用非连续卡,此时需要设置该环境变量。 |
此时环境可见卡的逻辑ID列表[1,3,5,7] |
export CM_CHIEF_DEVICES=0 |
表示1、3卡参与训练 |
|
export CM_CHIEF_DEVICES=1 |
表示3、5卡参与训练 |
Rec SDK默认使用8卡训练,16卡使能需要执行以下命令。
1 2 3 4 | for pdev in `lspci -vvv|grep -E "^[a-f]|^[0-9]|ACSCtl"|grep ACSCtl -B1|grep -E "^[a-f]|^[0-9]"|awk '{print $1}'` do setpci -s $pdev ECAP_ACS+06.w=0000 done |
bash run.sh main.py {host_ip}
正常开始执行,打印信息参考如下。
ip: {host_ip} available. The ranktable solution is removed. CM_CHIEF_IP={host_ip} CM_CHIEF_PORT=60000 CM_CHIEF_DEVICE=0 CM_WORKER_IP={host_ip} CM_WORKER_SIZE=8 ASCEND_VISIBLE_DEVICES=0-8 py is main.py use horovod to start tasks ...
执行完成,日志信息显示参考如下。
1 2 3 | ASC manager has been destroyed. MPI has been destroyed. Demo done! |