使用nvidia-smi来查询GPU信息
nvidia-smi是一个命令行工具,可以帮助你管理操作GPU device,并且允许你查询和更改device状态。
在windows命令提示符中输入cd C:\Program Files\NVIDIA Corporation\NVSMI,再输入nvidia-smi即可
nvidia-smi用处很多,比如,下面的指令可列出电脑上的可用GPU列表:
$ nvidia-smi -L
GPU 0: GeForce 940MX (UUID: GPU-1d8cce6d-84a3-fd64-e2e5-76b2489b91fd)
如果电脑上有多块GPU可以供使用,比如GPU 0~5,这个时候我们可以使用环境变量CUDA_VISIBLE_DEVICES来解决这个问题。
比如:
CUDA_VISIBLE_DEVICES=1 只有编号为1的GPU对程序是可见的,在代码中gpu[0]指的就是GPU1
CUDA_VISIBLE_DEVICES=1,3,5 只有编号为1,3,5的GPU对程序是可见的,在代码中gpu[0],gpu[1],gpu[2]分别对应GPU1,3,5
CUDA_VISIBLE_DEVICES=2,0,3 只有编号为2,0,3的GPU对程序是可见的,在代码中gpu[0],gpu[1],gpu[2]分别对应GPU2,0,3
可以设置永久环境变量或临时环境变量。
设置永久环境变量,需要到我的电脑-属性-系统高级设置-环境变量,添加同名同值变量;
设置python运行时的临时环境变量,可在初始化需要调用GPU的代码之前,执行以下操作:
import os
os.environ["CUDA_VISIBLE_DEVICES"]='0'
可执行以下代码查看临时环境变量:
os.environ.get('CUDA_VISIBLE_DEVICES')