docker内实现多机多卡分布式训练

本文介绍了如何在Docker环境中进行多台宿主机的网络配置,创建overlay网络以支持多卡分布式训练,以及注意事项,包括Swarm集群的加入和网络IP的动态管理。
摘要由CSDN通过智能技术生成

1. 多台docker宿主机网络配置

https://docs.docker.com/network/overlay/
这里需要创建overlay网络使得多台宿主机的容器可以通过网络连接
初始化swarm集群,并设置主节点(当前节点ip)
在这里插入图片描述
在其他节点运行以上蓝色框内的命令以作为worker 节点加入该集群

docker swarm join --token SWMTKN-1-35a9fwltowe90q1p4zyqnz110w9oenf0huoljje7n03kice4ae-byq3wrcqpr50i622z8foy5f0l 10.112.205.39:2377

然后可以在该worker节点上运行docker info查看,对应Swarm的内容,以下显示10.112.57.233 已经作为非管理者的身份加入集群
在这里插入图片描述
加入后可以在管理节点上运行docker node ls查看集群状态

2. 创建overlay 网络

在集群里创建一个my-attachable-overlay的虚拟网络 创建overlay 网络,名字任取。这里是jxh-overlay
在这里插入图片描述
使用创建的overlay 网络建立容器,启动容器时使用创建的网络

docker run -it --privileged=true --runtime=nvidia --gpus all --net=jxh-overlay -v /home/jxh/nccl:/home/nccl --name nccl  nvidia/cuda:11.8.0-cudnn8-devel-ubuntu22.04 bash

以该网络创建的容器间可以直接通信.

两边容器都启动后,可以ifconfig分别查看机器分配到的IP
在这里插入图片描述

然后互相可以ping一下试试,应该是可以ping通的

3. 注意

注意:这里使用overlay网络模式创建的docker重启后分配的ip是会变的,在实际多机多卡训练中需要每次看一下分配的ip再更改一下节点列表

  • 2
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
引用中提到了使用多机多卡的指导说明,根据这个说明,可以模拟出4台机器,每台机器有2个GPU。引用和引用给出了具体的命令行代码示例。 对于docker torchrun多机多卡的使用,可以按照以下步骤进行操作: 1. 首先,确保每台机器上都安装了Docker和Torch。 2. 在每台机器上创建一个Docker镜像,其中包含了所需的环境和依赖。 3. 使用多机多卡的方式启动Docker容器。可以根据需要,使用不同的CUDA_VISIBLE_DEVICES参数来指定每个容器中要使用的GPU。 4. 在每个容器中运行torch.distributed.launch命令,以启动多机多卡训练过程。在命令中,需要指定nproc_per_node参数来设置每个节点上使用的GPU数量,nnodes参数来设置总共的节点数,node_rank参数来指定当前节点的编号,master_addr参数来指定主节点的地址,master_port参数来指定主节点的端口号,train.py参数来指定训练脚本的路径,以及其他必要的训练参数。 需要注意的是,以上步骤中的具体命令和参数可能会因实际情况而有所不同,需要根据实际需求进行调整。同时,还需要确保各个节点之间可以相互通信,以便进行多机多卡训练。 总结起来,docker torchrun多机多卡的使用需要按照上述步骤配置每台机器的Docker环境和镜像,然后通过运行torch.distributed.launch命令启动多机多卡训练过程。通过合理设置参数,可以实现在多台机器上同时利用多个GPU进行训练。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *2* *3* [目标检测 YOLOv5 - 多机多卡训练](https://blog.csdn.net/flyfish1986/article/details/119786227)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 100%"] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Pretend ^^

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值