对于A100显卡
1. 首先进行原有的驱动的卸载干净
sudo apt-get purge nvidia-cuda*
sudo apt-get purge nvidia-*
sudo apt-get purge remove "*cublas*" "cuda*" #卸载CUDA Toolkit
2. 彻底卸载干净驱动
sudo apt autoremove *nvidia* #卸载所有和nvidia相关
sudo reboot
3. 进行以下操作,没有输出即可
如果是nouveau导致的失败,则禁用nouveau。如果电脑接着显示器,这个肯定失败。
sudo vi /etc/modprobe.d/blacklist.conf
在blacklist.conf末尾添加如下内容:
blacklist nouveau
options nouveau modeset=0
然后输入下面命令后,重启电脑:
sudo update-initramfs -u
lsmod | grep nouveau #查询不到任何东西,就是对的
重启后,查询:
lsmod | grep nouveau #查询不到任何东西,就是对的
4. 自动安装的方法
首先,你需要先查看一下系统的版本信息,Ubuntu的命令是
uname -a
接下来,检查是否有显卡驱动,方法是输入下面命令,看看是否出现GPU状态界面:
nvidia-smi
如果没有,就是自动化安装显卡,很快捷:
#自动化安装显卡驱动
ubuntu-drivers devices
sudo ubuntu-drivers autoinstall
sudo reboot
不过对我而言,出现:
NVIDIA-SMI has failed because it couldn't communicate with the NVIDIA driver. Make sure that the latest NVIDIA driver is installed and running.
5. 官方驱动安装的方法
先去官网查找对应的版本。
然后给驱动run文件赋予执行权限
sudo chmod a+x NVIDIA-Linux-x86_64-535.54.03.run
进行安装
sudo ./NVIDIA-Linux-x86_64-535.54.03.run -no-opengl-files -no-x-check -no-nouveau-check
只有禁用opengl这样安装才不会出现循环登陆的问题
-no-x-check:安装驱动时关闭X服务
-no-nouveau-check:安装驱动时禁用nouveau
-no-opengl-files:只安装驱动文件,不安装OpenGL文件
但是我按照以上方法进行了安装,出现了问题,发表在了NVIDIA论坛。
6. Ubuntu自带的安装方法1
首先输入以下命令:
# 查看推荐版本
ubuntu-drivers devices
得到以下输出:
linux505@linux505-2288H-V5:~$ ubuntu-drivers devices
== /sys/devices/pci0000:64/0000:64:00.0/0000:65:00.0 ==
modalias : pci:v000010DEd000020B0sv000010DEsd0000134Fbc03sc02i00
vendor : NVIDIA Corporation
driver : nvidia-driver-535-server - distro non-free
driver : nvidia-driver-470 - distro non-free
driver : nvidia-driver-535-open - distro non-free
driver : nvidia-driver-525-server - distro non-free
driver : nvidia-driver-450-server - distro non-free
driver : nvidia-driver-525 - distro non-free
driver : nvidia-driver-525-open - distro non-free
driver : nvidia-driver-535 - distro non-free
driver : nvidia-driver-535-server-open - distro non-free recommended
driver : nvidia-driver-470-server - distro non-free
driver : xserver-xorg-video-nouveau - distro free builtin
可以看到,这里我们不选用recommended的,且不选用open的,容易出现bug,我们选用这个进行安装:
# 安装
sudo apt-get install nvidia-driver-535-server nvidia-settings nvidia-prime
sudo apt-get install dkms
# 查看是否安装,会输出一个列表,找到类似nvidia-530.41.03
ll /usr/src/
# 版本号来自于列表中
sudo dkms install -m nvidia -v srv-535.54.03
# 重启
reboot
7. Ubuntu自带的方法2
在Ubuntu附加驱动中查看:
如图,我们直接选用535-server
即可!
点击应用更改后reboot
即可。
不过很遗憾,我上述方法都出现:
NVIDIA-SMI has failed because it couldn't communicate with the NVIDIA driver. Make sure that the latest NVIDIA driver is installed and running.
8. 对于以上现象的解决尝试:
前提是已经bios已经关闭了安全启动
安装驱动程序后不重新启动
相关文章:
https://deeptalk.lambdalabs.com/t/nvidia-smi-has-failed-because-it-can-can-communication-with-the-nvidia-driver/148/8 是的,它确实需要重新启动才能启用驱动程序。但这对我不起作用。重新启动后出现相同的错误。
重新安装驱动程序或 CUDA 库
我脑海中浮现的另一个想法是无与伦比的驱动程序版本。也许驱动程序对于旧设备来说太新了,反之亦然。当您在网上搜索问题时,您可以找到许多声称这一点的帖子。
然后我尝试安装不同版本的驱动程序。440
450
460
它们都不起作用,当您安装和卸载如此多版本的驱动程序时,系统可能会搞砸。
快速说明:不要在同一台计算机上安装和一起,否则会出现依赖问题,导致您在安装或卸载 Nvidia
相关软件包时都失败。nvidia-drivers-440nvidia-drivers-440-server
更新的内核与旧的 Nvidia 驱动程序不匹配
许多其他帖子说,如果您更新 Linux 内核,在旧内核期间安装的 Nvidia 驱动程序将与更新的内核不兼容。 解决方案是使用
use(动态内核模块支持)为驱动程序安装新的内核兼容文件,如下所示:dkms
sudo apt-get install dkms
sudo dkms install -m nvidia -v <driver_version>
可以通过命令找到驱动程序版本。whereis nvidia
但是,此解决方案也对我不起作用,因为即使是我的驱动程序也是在内核更新后安装的。
其他解决方案在我的情况下不起作用
有些人通过在BIOS中禁用“安全启动”来解决此问题。 安装仅适用于较旧的 CUDA 版本 (<=9.2)。
nvidia-cuda-toolkit
9. 更改版本内核(变成旧的)
首先查看当前内核版本:
`uname -r`
我的输出是:
5.4.0-148-generic
然后查看服务器启动内核的顺序
grep menuentry /boot/grub/grub.cfg
红色字体就是ubuntu系统目前所拥有的内核版本与启动顺序,menuentry起始的就是每一条。
比如我们要切换成 5.15.0-69-generic
这个,它在上图中的启动顺序是第3个。
终端运行命令 :
sudo gedit /etc/default/grub
令GRUB_DEFAULT=0
修改为 GRUB_DEFAULT="1> 3"
。
注意:> 与7之间有个空格,接着保存并退出。
最后更新grub
sudo update-grub
接着重启服务器
sudo reboot
最后,重启后查看内核版本(uname -r)已修改成5.15.0-69-generic
了。再运行nvidia-smi
就正常了。
10. 可是,以上方法仍然对我不起作用,我还抓取了相关NVIDIA的安装日志,并把问题发布在了NVIDIA论坛这里。
希望能有大佬帮忙解决!
感激不尽!
对于RTX 6000显卡
使用上述方法7,即可成功安装!
参考博客:
https://blog.csdn.net/Thanours/article/details/104834536
https://blog.csdn.net/weixin_44124632/article/details/130471902?spm=1001.2014.3001.5506
https://blog.csdn.net/Thanlon/article/details/106125738
https://blog.csdn.net/weixin_44842237/article/details/127958306
https://blog.csdn.net/xulingling516/article/details/130675218?spm=1001.2014.3001.5506
https://en.dlyang.me/fixing-nvidia-smi-communication-error/