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 |