写程序的时候由于要指定显卡,需要使用到CUDA_VISIBLE_DEVICES 这个环境变量
有两种使用方法,一是直接写在程序里,如下:
import os
os.environ['CUDA_VISIBLE_DEVICES'] = '0'
二是在调用程序的命令中显式指定,如下:
CUDA_VISIBLE_DEVICES=1 python xxx.py
当同时使用这两种方法时,例如代码中指定0号卡,程序调用命令中指定1号卡,那么会优先使用程序中指定的显卡,即0号卡。
验证方法:使用命令
gpustat --force-color -cp -i 1 # 实时监测gpu状态
看到程序运行时正在使用的是0号显卡
说明程序中CUDA_VISIBLE_DEVICES 的优先级大于程序调用命令中CUDA_VISIBLE_DEVICES 的优先级。