Update avaliable. Click RELOAD to update.
目录

AI GPU故障排除:"Failed to initialize NVML :Driver/library version mismatch"

nvidia-gpu

故障描述

在使用 GPU 开发和训练 AI 程序时,可能会遇到这样的问题,nvidia-smi 命令识别 GPU 昨天好好的,今天就突然出错了

$ nvidia-smi
Failed to initialize NVML: Driver/library version mismatch

这个问题的原因是 NVIDIA 驱动库的版本与系统内核模块不一致。要修复这个问题,需先删除当前的 nvidia 驱动程序,并重新安装正确的 NVIDIA 驱动程序版本就可以解决。

修复步骤

检查内核版本

检查显卡驱动程序使用的内核版本

$ cat /proc/driver/nvidia/version
NVRM version: NVIDIA UNIX x86_64 Kernel Module  535.171.04  Tue Mar 19 20:30:00 UTC 2024
GCC version:  gcc version 11.2.0 (Ubuntu 11.2.0-19ubuntu1)

NVRM版本内核模块为 535.171.04,系统内核为22.04

删除 NVIDIA 驱动

运行以下命令,删除包括 nvidia-common 在内的所有 NVIDIA 软件包。

$ sudo apt purge nvidia-* 
$ sudo apt purge libnvidia-*

执行完毕后,在使用以下命令检查是否还有遗留

$ dpkg -l | grep -i nvidia

查找可用的驱动版本

使用Ubuntu自带的驱动管理工具 ubuntu-drivers devices 来查询当前版本Ubuntu推荐的驱动。

$ ubuntu-drivers devices
== /sys/devices/pci0000:00/0000:00:09.0 ==
modalias : pci:v000010DEd00001EB8sv000010DEsd000012A2bc03sc02i00
vendor   : NVIDIA Corporation
model    : TU104GL [Tesla T4]
driver   : nvidia-driver-418-server - distro non-free
driver   : nvidia-driver-470 - distro non-free
driver   : nvidia-driver-470-server - distro non-free
driver   : nvidia-driver-535 - distro non-free recommended
driver   : nvidia-driver-545 - distro non-free
driver   : nvidia-driver-535-server - distro non-free
driver   : nvidia-driver-450-server - distro non-free
driver   : xserver-xorg-video-nouveau - distro free builtin

输出结果如上,一行中出现了“recommended”二字,说明系统推荐了这个驱动,即nvidia-driver-535。

安装正确的驱动程序

要安装推荐的驱动程序,请运行以下命令。

$ sudo apt install nvidia-driver-535

另外,您还可以执行以下命令来自动安装推荐版本的驱动程序。此时,机器上会自动安装上述推荐版本的驱动程序。

$ sudo ubuntu-drivers autoinstall

重新启动系统

重新启动计算机以使更改生效。

$ sudo reboot

验证问题是否修复

重启后输入以下命令测试驱动安装。如下图所示,可以看到推荐版本的驱动安装成功。

$ nvidia-smi

nvidia-smi

版权所有,本作品采用知识共享署名-非商业性使用 3.0 未本地化版本许可协议进行许可。转载请注明出处:https://www.wangjun.dev//2024/05/ai-gpu-troubleshooting-driver-version-mismatch/

Related posts