阅读量:0
在较新版本的ubuntu系统上安装cuda等深度学习环境时,我们常常会遇到一些驱动问题,比如:
1.找不到命令:nvidia-smi: command not found
2.驱动连接失败:NVIDIA-SMI has failed because it couldn't communicate with the NVIDIA driver. Make sure that the latest NVIDIA driver is installed and running.
通过各种平台搜索,绝大部分教程会推荐使用dkms:
#先安装dkms,是ubuntu驱动管理器 sudo apt-get install dkms #如果下面的命令执行后显示不存在这个版本,-v 后的版本号具体到第三个逗号之后 sudo dkms install -m nvidia -v 450.57
或者是
sudo modprobe nvidia_xxx_uvm
以上两种命令来“修复”驱动。然而这两种命令均建立在你的驱动文件已经正确存在于系统中,只是没被正确的加载。如果你在尝试解决的过程中,还试图进行过驱动和cuda的卸载重装,那么恭喜你,以上方法一定会失败,因为你的驱动文件已经不完整了,怎么修复都是不起作用的了。
解决方案
首先,打开软件和更新,将驱动换成开源的Nouveau:
然后重启电脑让驱动生效,接着执行cuda和驱动的卸载命令:
sudo apt --purge remove nvidia* sudo apt --purge remove "*cublas*" "cuda*" sudo apt autoremove
因为我们此时已经更换了驱动,所以不存在任何文件占用问题,才能真正的完全卸载掉之前损坏的驱动文件。
最后切回nvidia的驱动:
重启电脑让驱动更改生效,再次键入nvidia-smi查看显卡状态,大功告成:
总结
没事别乱动驱动,动了就想办法卸载干净重装,不要试着浪费时间在修复上,重装更划算。ubuntu系统自带的开源驱动Nouveau不要卸载,有救急之用。
补充:
如果按流程安装cuda后nvcc -V命令看不到cuda版本,请先考虑将cuda添加到环境变量中,不要急着搜寻所谓的修复教程,不然就会被带偏到无脑重装上。