當使用GPU時,程序默認從device[0]開始運行,但是如果遇到第一塊就被占滿的情況,那么程序直接報錯GPU溢出,但其實第二塊第三塊空閑,因此可以通過設置GPU的Index,要求程序在哪幾塊GPU上運行。有兩種方法:
一、
設置CUDA_VISIBLE_DEVICES=0,1 python train.py,指定在0,1塊上運行,
二、
在程序中使用:
import os;
os.environ['CUDA_VISIBLE_DEVICES’]=“2”;
另外pytorch2.0后增加了分布式GPU運行.
分布式是指多個GPU在多臺服務器上運行,而并行是指一臺服務器上有多個GPU。
采用data=data.cuda(1)的方式可以把數(shù)據(jù)轉存到GPU1塊上。