通过
gpus = '0, 1'
os.environ['CUDA_VISIBLE_DEVICES'] = gpus
可以设置多个gpu,同时需要配合 nn.DataParallel 使用。
有时候设置完 CUDA_VISIBLE_DEVICES,但不起作用,是因为配置CUDA_VISIBLE_DEVICES的位置问题,这是个小细节问题,需要在访问任何有关查看cuda状态代码前设置,如torch.cuda.device_count(),否则就会无效。
即以下会不生效:
torch.cuda.device_count()
gpus = '0, 1'
os.environ['CUDA_VISIBLE_DEVICES'] = gpus