Linux(Ubuntu)系统调用nvidia-smi出现Failed to initialize NVML: Driver/library version mismatch

看着网上说重启或更新之类的方法,但是对我没用,因此自己搜素到了一套方法,总结一下:

实际系统内核版本与驱动需求的版本不一致是问题产生的根源

1、输入dmesg |tail -4 查看匹配情况

dmesg |tail -4

结果

NVRM: API mismatch: the client has the version 450.102.04, but
NVRM: this kernel module has the version 440.80.02.  Please
NVRM: make sure that this kernel module and all NVIDIA driver
NVRM: components have the same version.

也就是libnvidia-compute-450的包已经是450版本了,但驱动还是440,导致版本不匹配

2、解决方案(重装驱动)

2.1、查看显卡驱动所使用的内核版本

cat /proc/driver/nvidia/version

在这里插入图片描述

内核版本为415.27

我的电脑为440,因此后续用440举例

2.2、卸载电脑驱动

sudo apt-get purge nvidia*

2.3、安装驱动时,先把显卡驱动加入PPA

sudo add-apt-repository ppa:graphics-drivers  
sudo apt-get update  

2.4、安装驱动

sudo apt install nvidia-440

可能上面的命令报了如下错误:

Reading package lists... Done  
Building dependency tree  
Reading state information... Done  
E: Unable to locate package nvidia-435   

说明安装的驱动较新,换如下指令执行

sudo add-apt-repository ppa:graphics-drivers/ppa
sudo apt install nvidia-driver-440  
# 可以参考:https://blog.csdn.net/sinat_34686158/article/details/106845208?%3E

然后sudo reboot重启

然后再使用nvidia-smi查看是否正常

你可能感兴趣的:(linux,ubuntu,运维)