pyTorch 指定卡运行代码 和 同一台机器跑多个GPU程序(解决端口号占用)

1  pyTorch 多卡运行代码

 

一般pytorch多卡运行,最好使用此方法

 

python -m torch.distributed.launch —nproc_per_node

 

例如 python -m torch.distributed.launch —nproc_per_node 2 train.py

 

其中参数 --nproc_per_node 表示每个节点需要多少个进程,一般每个进程独占一个GPU

其他参数

--nnodes  需要节点数(机器数)

--node_rank  节点编号

--master_addr  节点master的IP地址

--master_port 节点master的port号

 

2 同一台机器跑多个GPU程序(解决端口号占用)

 

程序1:

python -m torch.distributed.launch —nproc_per_node 2 train.py

程序2

python -m torch.distributed.launch —nproc_per_node 2 train.py —master_port XXXX

 

因为默认的master_port是29500,所以启动第二个程序时端口号会被占用,需要指定端口号。

 

端口号查询  查询XXX端口号是否被使用

netstat -anp | grep XXX

如果输出有那么就有程序在使用这个端口号

 

3 指定特定的GPU卡运行

 

方式1

使用train.py提供的接口(args参数输入)

方式2

在train.py代码首行加入

 

import os

os.environ[‘CUDA_VISIBLE_DEVICES’] = ‘ XXX ’

 

其中XXX为指定卡的序号,从0开始。注意引号

 

 

 

 

 

posted @   雪夜羽  阅读(3576)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· winform 绘制太阳,地球,月球 运作规律
· AI与.NET技术实操系列(五):向量存储与相似性搜索在 .NET 中的实现
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
· 上周热点回顾(3.3-3.9)
· AI 智能体引爆开源社区「GitHub 热点速览」
点击右上角即可分享
微信分享提示