最近使用租的服务器,突然出现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一致的,结果这个包版本被更新了,导致不匹配,所以无法正常使用。
解决方法:
把这个包nvidia-fabricmanager重新安装对应兼容版本(如我这里需要安装510.47.03版本),然后把自动更新禁用掉。另外要保证这个服务正常运行nvidia-fabricmanager,可以设置开机自动启动。 |
安装和设置操作如下:
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系统更新。