我正在尝试在3台机器的12个GPU(每个4个GPU)上使用带tf slim的horovod。 然后我使用iperf3来检查带宽,训练时看到的带宽成本几乎为0。
这是我正在运行的命令:
mpirun -np 12 -H ip1:4,ip2:4,ip3:4 -bind-to none -map-by slot -x NCCL_DEBUG=DEBUG -x LD_LIBRARY_PATH -x PATH -mca pml ob1 -mca btl ^openib python train_distribute_horovod.py
我在代码中设置了num_clones = 1,num_replicas = 1,num_ps_tasks = 0,task = 0。
似乎参数不会在GPU之间复制。这是日志:
INFO:tensorflow:在步骤7363的记录摘要。
INFO:tensorflow:在步骤7363的记录摘要。
INFO:tensorflow:在步骤2433中的记录摘要。
INFO:tensorflow:在步骤2433中的记录摘要。
INFO:tensorflow:在步骤2433中的记录摘要。
INFO:tensorflow:在步骤7363的记录摘要。
INFO:tensorflow:在步骤52730的记录摘要。
INFO:tensorflow:在步骤7363的记录摘要。
INFO:tensorflow:在步骤52730的记录摘要。