我正在运行Ubuntu18.04,最近(大约一个月)在安装略建议 .deb的过程中遇到了很多麻烦之后,用runfile安装了CUDA 10.2。一切都很好:nvidia显示了GPU的数据,我能够在GPU上运行我的并行代码。今天,我启动了我的机器,软件中心建议,一些updates...it似乎只是这个libnvidia-计算-440包的一部分,但我没有太在意,并安装了所有的更新。在那之后,我的数据自动化系统代码不起作用,我尝试了nvidia-smi,得到了一个
Failed to initialize NVML: Driver/library version mismatch
我重新启动了系统,仍然有错误。我花了一个下午搜索可能的解决方案,我想我找到了问题的核心:运行dmesg |tail -4
NVRM: API mismatch: the client has the version 440.59, but
NVRM: this kernel module has the version 440.33.01. Please
NVRM: make sure that this kernel module and all NVIDIA driver
NVRM: components have the same version.我现在拥有的libnvidia-compute-440包的版本确实是440.59,但是我的驱动程序版本是440.33.01,正如dmesg |grep nvidia (或我尝试过的类似命令)所显示的(参见第三行)
[ 16.462737] nvidia-nvlink: Nvlink Core is being initialized, major device number 237
[ 16.463235] nvidia 0000:03:00.0: enabling device (0006 -> 0007)
[ 16.785628] nvidia-modeset: Loading NVIDIA Kernel Mode Setting Driver for UNIX platforms 440.33.01 Tue Nov 12 23:43:11 UTC 2019
[ 16.916202] [drm] [nvidia-drm] [GPU ID 0x00000300] Loading driver
[ 16.916205] [drm] Initialized nvidia-drm 0.0.0 20160202 for 0000:03:00.0 on minor 1事实上,通过查看/var/log/apt/history.log,我可以看到libnvidia-计算-440已经从440.33.01-0ubuntu1升级到440.59-0ubuntu0.18.04.133.01。所有这些证据使我得出结论,我可以尝试回到那个库的前一个版本,但是apt-get install libnvidia-compute-440=440.33.01 (我认为它是正确的语法)给了我E: Version '440.33.01' for 'libnvidia-compute-440' was not found。
我真的希望有一个不意味着卸载CUDA的解决方案,因为安装它花了我一个周末的时间。
发布于 2020-06-08 10:38:43
我非常谨慎,担心我会把我的数据自动化系统的安装搞砸。然而,我鼓起勇气,用sudo apt install nvidia-driver-440更新了我的nvidia驱动程序。它成功地更新了驱动程序,这与libnvidia-计算版本440.59相匹配。
重新启动之后,一切都很好,就像以前一样。
https://askubuntu.com/questions/1248109
复制相似问题