上次我尝试nvidia-smi
在带有 Pascal Titan X 的 Ubuntu 16.04 机器上使用它时效果很好。
大约一个月不使用机器后,我启动并且加速不再起作用。我尝试运行nvidia-smi
并收到此错误:
NVIDIA-SMI has failed because it couldn't communicate with the NVIDIA driver. Make sure that the latest NVIDIA driver is installed and running.
我尝试重新安装最新版本的驱动程序:
sudo ./NVIDIA-Linux-x86_64-390.42.run -no-drm
重新启动,并nvidia-smi
报告相同的错误。跑步lsmod | grep nvidia
什么都没有。
我尝试以这种方式安装驱动程序:
sudo apt-get purge nvidia*
sudo add-apt-repository ppa:graphics-drivers
sudo apt-get update
sudo apt-get install nvidia-384
然后重新启动 - 仍然没有任何东西lsmod | grep nvidia
,同样的错误nvidia-smi
。
在我的/var/log/syslog
中,我看到这条消息:
nvidia: version magic '4.4.0-116-generic SMP mod_unload modversions ' should be '4.4.0-116-generic SMP mod_unload modversions retpoline '
我怎样才能排除故障并让加速再次工作?
我刚刚注意到你从nvidia下载了390的驱动程序,但试图重新安装384。
nvidia 的安装过程很奇怪,我必须每隔几个月重新阅读安装说明,但如果你按照他们的要求进行操作,它们应该可以工作。至少 CUDA 部分可以,我对显示驱动程序没有经验。
安装 390 驱动程序后,运行
sudo nvidia-modprobe
并查看错误消息(如果有)是什么。我认为原来失败的原因是内核升级了(自动与否,无所谓),需要重新编译nvidia驱动。至少这是我使用 CUDA 驱动程序的常见故障模式。
检查您的 nvidia 内核模块是否支持 retpoline,因为所有新内核都是用它构建的以缓解 Spectre。您现在可能正在运行 nouveau 驱动程序,并且您可能需要使用已修补的 gcc 编译器重建 nvidia 内核模块。见:https ://bugs.launchpad.net/ubuntu/+source/xorg/+bug/1750937