如果代码中很多地方需要指定使用gpu,原本写法并未指定具体某一块,这样在改代码的时候会十分麻烦,我们可以通过CUDA_VISIBLE_DEVICES来指定某块gpu,这样,在程序看来,是只有指定的这块gpu的,而其他gpu都不可见了,也就不会使用其他gpu。

运行python脚本时,使用如下这种方法,指定gpu

# run_python.sh
gpu=2
CUDA_VISIBLE_DEVICES=$gpu python gpuProgram.py 

另一种方法是通过在python文件运行中指定

import os 
os.environ['CUDA_VISIBLE_DEVICES'] = '2'
命令说明
CUDA_VISIBLE_DEVICES=1只有编号为1的GPU对程序是可见的,在代码中gpu[0]指的就是这块GPU
CUDA_VISIBLE_DEVICES=0,2,3只有编号为0,2,3的GPU对程序是可见的,在代码中gpu[0]指的是第0块,gpu[1]指的是第2块,gpu[2]指的是第3块
CUDA_VISIBLE_DEVICES=2,0,3只有编号为0,2,3的GPU对程序是可见的,但是在代码中gpu[0]指的是第2块,gpu[1]指的是第0块,gpu[2]指的是第3块

可参考设置 CUDA_VISIBLE_DEVICES - 腾讯云开发者社区-腾讯云 (tencent.com)

Logo

魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。

更多推荐