查看GPU情况
nvidia-smi | 查看命令,下部分为占用pid |
---|
watch -n 1 nvidia-smi | 每1秒刷新一次 |
fuser -v /dev/nvidia* | 运行在gpu上的所有程序 |
watch的参数解释
使用
use_cuda = torch.cuda.is_available()
device = torch.device('cuda' if use_cuda else 'cpu')
export CUDA_VISIBLE_DEVICES=4
os.environ["CUDA_DEVICE_ORDER"] = "PCI_BUS_ID"# 保证程序中的GPU序号是和硬件中的序号是相同的
os.environ['CUDA_VISIBLE_DEVICES'] = "0, 1, 3"
device = torch.device("cuda:0" if torch.cuda.is_available() and not args.no_cuda else "cpu")
model = torch.nn.DataParallel(model, device_ids=[0, 1, 3])
RuntimeError: CUDA error: out of memory
File “envs\torch\lib\site-packages\torch\cuda_init_.py”, line 214, in _lazy_init torch._C._cuda_init()
原因GPU 设置错误,我的情况是没有此编号的GPU,并进行了以下修改
os.environ["CUDA_DEVICE_ORDER"] = "PCI_BUS_ID"
os.environ["CUDA_VISIBLE_DEVICES"] = "0"