多GPU使用:
CUDA_VISIBLE_DEVICES=0,1,2,3---推荐
os.environ["CUDA_VISIBLE_DEVICES"] = "0,1,2,3"---推荐
DataParallel(model, device_ids=[0, 1, 2,3])
torch.cuda.set_device(id)---不推荐
cuda:0表示将id为0的GPU设置为主GPU;
相关链接:
RuntimeError: module must have its parameters and buffers on device cuda:0 (device_ids[0]) but found_EE呈双的博客-CSDN博客
并行:
model = torch.nn.DataParallel(model, device_ids = [0,1,2,3]) # 一机多卡
model = torch.nn.parallel.DistributedDataParallel(model,
device_ids=[arg.local_rank],
output_device=arg.local_rank) # 用于分布式计算,多机多卡
一机多卡:
? ? ? ? input:
? ? ? ? weights:
? ? ? ? grad:
多机多卡:
? ? ? ? input:
? ? ? ? weights:
? ? ? ? grad:
rank
|