问题:
在CentOS 7上运行的Nvidia GPU上使用CUDA运行PyTorch脚本时,我偶尔会遇到以下CUDA错误。
如果我跑:
python3 -c 'import torch; print(torch.cuda.is_available()); torch.randn(1).to("cuda")'
我得到以下输出:
True
Traceback (most recent call last):
File "<string>", line 1, in <module>
RuntimeError: CUDA error: all CUDA-capable devices are busy or unavailable
CUDA kernel errors might be asynchronously reported at some other API call,so the stacktrace below might be incorrect.
For debugging consider passing CUDA_LAUNCH_BLOCKING=1.
PyTorch似乎认为GPU是可用的,但我不能把任何东西放到它的内存中。当我重新启动计算机时,错误消失了。我似乎不能得到的错误回来一贯。
1条答案
按热度按时间cwtwac6a1#
当我在Python之外运行
nvidia-smi
时,它显示了一个在GPU上运行的进程,尽管我取消了PyTorch脚本的执行:如果我通过运行
kill -9 18805
杀死进程(PID
=18805
),则该进程不再出现在nvidia-smi
中,并且错误不会再次发生。任何关于更好的解决方案的见解,或者如何首先避免这个问题,都是非常受欢迎的。