mindspore在gpu上进行多机分布式训练问题

mindspore在gpu上进行多机分布式训练

【操作步骤&问题现象】

1、如何指定每个节点的 显卡编号?例如pytorch是通过这种方式,os.environ['CUDA_VISIBLE_DEVICES'] = '0,1',那mindspore 呢

2、mpirun进行多机分布式时,mindspore是如何进行多机并行的,能否详细描述一下原理?具体来说,能否说明一下多个节点之间如何进行通信,数据和可执行代码需要放在多个节点的共享文件系统中吗,还是只需要放在主节点,再通过网络传输给其他节点?

3、mindspore官方文档中关于gpu上的多机分布式训练的教程不够细致和完善,用户很难根据这个教程完成多机分布式训练

【截图信息】

如下图所示,我在进行两个不同服务器(分别为118和52服务器)上的多机gpu分布式,用的是mindspore官方提供的yolov4模型,代码和数据集均放在118服务器上,两个服务器之间已经做好ssh免密通信,但是两个服务器之间没有开启共享文件系统,然后在118服务器上运行 run_train_gpu.sh后,出现下面的错误,提示在52服务器上找不到可执行文件(这个原因是啥),我比较好奇是否一定要建立共享文件系统,可执行文件和数据不能通过网络传输到其他节点吗?麻烦大佬看一下,非常感谢!

解答:

问题1,MindSpore跟Pytorch一样,也是通过os.environ['CUDA_VISIBLE_DEVICES'] = '0,1' 指定每个节点的显卡编号。

问题2,GPU多个节点之间一般是通过TCP或者RDMA进行通信,多机训练要保证节点间网络互通。

问题3,至于数据和可执行代码需要不需要放在多个节点上面,用户根据自己需要去写启动脚本。若不放在多个节点上面,则需要显示的通过ssh的方式(scp)将数据和可执行代码传到其他节点上,然后在进行mpirun。

感谢您提出的问题,MindSpore官网后续会根据您的建议进行改善。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值