指定程序在哪个GPU上运行

摘要: 当本地(或服务器)有个多个GPU时,需要指定程序在指定GPU上运行,需要做以下设置。

一、在终端上指定GPU

在终端运行程序时,通过命令行指定:

CUDA_VISIBLE_DEVICES=1 python main.py

其中:1表示序号为1的GPU(注意:GPU的序号通常以0开始计数。

二、在程序中指定GPU

在程序的开头,加入以下两行代码,指定运行的GPU,如程序main.py:

import os 
os.environ[“CUDA_VISIBLE_DEVICES”] =1

CUDA应用运行时,CUDA将遍历当前可见的设备,并从零开始为可见设备编号。可以同时指定多个设备(设备是真实存在的,不要指定不存在的设备)

import os 
os.environ[“CUDA_VISIBLE_DEVICES”] =0, 1, 2, 3

三、系统变量指定GPU

  • Linux: export CUDA_VISIBLE_DEVICES=0
  • windows: set CUDA_VISIBLE_DEVICES=0

四、pytorch中指定GPU

在程序中:

import torch
torch.cuda.set_device(1)

不过官方建议使用CUDA_VISIBLE_DEVICES,不建议使用 set_device 函数。

另外,再介绍几个pytorch关于cuda的函数:

# cuda是否可用,可用返回true, 不可用返回false
torch.cuda.is_available()

# 查看gpu可用的数量
torch.cuda.device_count()

# 返回gpu名称, 默认从0开始
torch.cuda.get_device_name(0) # 如rtx 3090

# 返回当前gpu的索引
torch.cuda.current_device()
  • 2
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值