最近使用租的服务器,突然出现torch无法正常使用,提示CUDA initialization: Unexpected error from cudaGetDeviceCount()错误,如下图所示

几经周折,查出出现该 问题原因 是:

因为nvidia-fabricmanager 这个包某些原因更新了,如在系统自动更新或者apt-get update、apt-get upgrade等过程中被更新了。而这个包必须和驱动版本一致才能正常使用,因为A100-80G是nvswitch版本,安装了这个包才能支持nviswitch,才能正常使用。

我这里nvidia-fabricmanager默认的是510.47.03版本和驱动版本510.47.03一致的,结果这个包版本被更新了,导致不匹配,所以无法正常使用。

解决方法

安装和设置操作如下:

wget https://developer.download.nvidia.cn/compute/cuda/repos/ubuntu1804/x86_64/nvidia-fabricmanager-510_510.47.03-1_amd64.deb
apt-get remove nvidia-fabricmanager-510
apt-get install ./nvidia-fabricmanager-510_510.47.03-1_amd64.deb
systemctl enable nvidia-fabricmanager
systemctl restart nvidia-fabricmanager
systemctl status nvidia-fabricmanager

结果如下图:  

经验教训:在使用A100-80G服务器时,不用轻易使用apt-get更新或者开启Ubuntu系统更新。