參考: https://blog.csdn.net/jyli2_11/article/details/73331126
https://blog.csdn.net/cfarmerreally/article/details/80321276
http://www.cnblogs.com/darkknightzh/p/6591923.html
場景:
有一台服務器,服務器上有多塊兒GPU可以供使用,但此時只希望使用第2塊和第4塊GPU,但是我們希望代碼能看到的仍然是有兩塊GPU,分別編號為0,1,這個時候我們可以使用環境變量CUDA_VISIBLE_DEVICES來解決這個問題。
比如:
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塊兒
設置示例: 在python程序中,
import os os.environ["CUDA_VISIBLE_DEVICES"] = '1'
os.environ["CUDA_VISIBLE_DEVICES"] = '0,2,3'
