Pytorch多GPU问题

我想用2个GPU(id 5、6)训练模型,所以我用CUDA_VISIBLE_DEVICES=5,6 train.py运行代码。但是,当我打印torch.cuda.current_device时,我仍然得到ID 0而不是5,6。但是torch.cuda.device_count是2,这很正确。如何正确使用GPU5,6?

iCMS 回答:Pytorch多GPU问题

很可能是正确的。 PyTorch仅看到两个GPU(因此索引为0和1),它们实际上就是您的GPU 5和6。

使用nvidia-smi检查实际使用情况。如果仍然不一致,则可能需要设置环境变量:

export CUDA_DEVICE_ORDER=PCI_BUS_ID

(请参见Inconsistency of IDs between 'nvidia-smi -L' and cuDeviceGetName()

,

您可以检查设备名称以验证它是否是该GPU的正确名称。但是,我认为,当您将Cuda_Visible设置在外部时,您已被迫将手电筒仅看着2 gpu。因此,割炬将为它们手动将索引设置为0和1。因此,当您检查current_device时,它将输出0

本文链接:https://www.f2er.com/1540904.html

大家都在问