发布于  更新于 

NVIDIA-SMI 无法与 NVIDIA 驱动通讯问题解决方案

此文记录在使用 NVIDIA GPU 时遇到的驱动问题:

1
NVIDIA-SMI has failed because it couldn't communicate with the NVIDIA driver. Make sure that the latest NVIDIA driver is installed and running.

验证 Kernel 和 CUDA 版本是否匹配

查看机器 kernel:

1
uname -r

并在对应 CUDA 版本的安装指南中查看该版本适配的 kernel 版本:

若发现 Linux kernel 和 CUDA 版本不匹配,可以先考虑调整 CUDA 版本和 kernel 版本;个别情况下 kernel 版本过新,可尝试降级 kernel。

安装新 kernel

确定目标kernel版本,以 CUDA 11.7 + Ubuntu 22.04 对应的 5.15.0-25-generic 为例。下面指令中的版本号需要根据实际选择的版本调整:

先更新 apt 列表:

1
sudo apt update

安装对应版本的 headers 和 image:

1
sudo apt install linux-headers-5.15.0-25-generic linux-image-5.15.0-25-generic

更新启动引导:

GRUB 会默认启动最新版本 kernel,kernel 降级后,可以选择直接删除新版本 kernel,但更稳妥的办法是先尝试旧版本 kernel 版本启动:

1
sudo update-initramfs -u -k 5.15.0-25-generic

修改 /etc/default/grub,将 GRUB_DEFAULT 项修改为:

1
GRUB_DEFAULT="Advanced options for Ubuntu>Ubuntu, with Linux 5.15.0-25-generic"

更新 GRUB:

1
sudo update-grub

重启:

1
sudo reboot

验证 kernel 版本:

1
uname -r