当我运行nvidia-smi时,我得到以下消息:

初始化NVML失败:驱动程序/库版本不匹配

一小时前,我收到了同样的消息,卸载了我的CUDA库,我能够运行nvidia-smi,得到以下结果:

之后,我从NVIDIA官方页面下载了cuda-repo-ubuntu1604-8-0-local-ga2_8.0.61-1_amd64.deb,然后简单地:

sudo dpkg -i cuda-repo-ubuntu1604-8-0-local-ga2_8.0.61-1_amd64.deb
sudo apt-get update
sudo apt-get install cuda
export PATH=/usr/local/cuda-8.0/bin${PATH:+:${PATH}}

现在我已经安装了CUDA,但我得到了前面提到的不匹配错误。


一些可能有用的信息:

运行cat /proc/driver/nvidia/version得到:

NVRM version: NVIDIA UNIX x86_64 Kernel Module  378.13  Tue Feb  7 20:10:06 PST 2017
GCC version:  gcc version 5.4.0 20160609 (Ubuntu 5.4.0-6ubuntu1~16.04.4)

我正在运行Ubuntu 16.04.2 LTS (Xenial Xerus)。

内核发行版是4.4.0-66-generic。


当前回答

我也有这个问题(我正在运行Ubuntu 18.04 (Bionic Beaver))。

我做了什么:

DPKG -l | grep -i nvidia

然后 sudo apt-get remove—清除nvidia-381(和每个重复的版本,在我的情况下,我有381,384和387)

然后sudo ubuntu驱动设备列出可用的设备。

我选择sudo apt install nvidia-driver-430。

之后,nvidia-smi给出了正确的输出(不需要重新启动)。但我想你有疑问的时候可以重启。

我还按照这个安装重新安装cuda+cudnn。

其他回答

重启或卸载驱动程序对我来说不起作用。 我把我的Nvidia驱动程序440.33.01更新到450.80.2,解决了这个问题。

sudo apt-get install nvidia-driver-450

sudo reboot

我正在运行Ubuntu 20.04 LTS (Focal Fossa),这是一个远程服务器。

我将容器提交到Docker映像中。然后我用这个Docker映像重新创建了另一个容器,问题就解决了。

令人惊讶的是,重新启动解决了这个问题(我以为我已经尝试过了)。

Robert Crovella在评论中提到的解决方案可能对其他人也有用,因为它与我第一次遇到问题时解决问题的方法非常相似。

重新引导。

如果问题仍然存在:

sudo rmmod nvidia_drm
sudo rmmod nvidia_modeset
sudo rmmod nvidia
nvidia-smi

CentOS和Red Hat Enterprise Linux (RHEL)操作系统:

cd /boot
mv initramfs-$(uname -r).img /boot/initramfs-$(uname -r).img.bak
dracut -vf initramfs-$(uname -r).img $(uname -r)

Then

reboot

对于 Debian/Ubuntu:

update-initramfs -u

如果问题仍然存在:

apt install -y dkms && dkms install -m nvidia -v 440.82

将440.82更改为实际版本。

提示:获取Nvidia驱动程序版本:

ls /usr/src

您将找到Nvidia驱动程序目录,例如Nvidia -440.82。


此外,您可以删除所有Nvidia软件包并重新安装驱动程序:

apt purge nvidia*
apt purge *cuda*

# Check
apt list -i |grep nvidia
apt list -i |grep cuda

我必须重新启动内核并删除之前安装的所有包(在第一次安装期间)。请确保删除所有的包,即使在删除包后使用下面的命令:

sudo apt-get --purge remove "*nvidia*"

像“libtinfo6:i386”这样的包不会被删除。

我使用的是Ubuntu 20.04 (Focal Fossa)和Nvidia-driver-440。为此,您必须删除下图所示的所有包。

所有需要删除的包的列表:

如图所示,确保您正在安装的包的大小正确。Nvidia-driver-440的内存为207 MB。如果它更少,这意味着您还没有删除所有的包。