问题
PyTorch无法使用GPU,报以下错误:
Attempting to deserialize object on a CUDA device but torch.cuda.is_available() is False.
分析
验证CUDA 运行是否正常:
# 进入 CUDA Samples目录,以“~/NVIDIA_CUDA-11.0_Samples”为例
cd ~/NVIDIA_CUDA-11.0_Samples/1_Utilities/deviceQuery
make
./deviceQuery
发现CUDA不能正常运行:
CUDA Device Query (Runtime API) version (CUDART static linking)
cudaGetDeviceCount returned 802
-> system not yet initialized
Result = FAIL
查找资料发现是由于服务器重启后Nvidia Fabric Manager没有启动导致。
解决
配置Nvidia Fabric Manager开机启动并启动服务:
sudo systemctl enable nvidia-fabricmanager.service
sudo service nvidia-fabricmanager start
CUDA即可正常运行。
参考
cuda runtime error (802) : system not yet initialized …/THCGeneral.cpp:50
当尝试使用PyTorch运行在GPU上时遇到错误,提示CUDA未正常工作。检查发现CUDA样本运行失败,原因是NvidiaFabricManager服务未启动。通过在服务器上启用并启动NvidiaFabricManager服务,可以解决此问题,使CUDA恢复正常运行。

28万+

被折叠的 条评论
为什么被折叠?



