在已安装旧版 CUDA 的机器上通过运行下载的 runfile[local] 升级 CUDA 版本时,如果机器上正在运行占用显卡或调用显卡驱动的程序,可能会遇到驱动安装报错,例如,“ERROR: An NVIDIA kernel module 'nvidia' appears ... ” 等。很多解决方法是完全卸载显卡驱动并重新系统来解除程序占用,虽然简单直接,但是直接破坏了低版本的环境,其实也可以通过查找并停止显卡占用程序的方式来处理。
目录
首先查看升级机器的环境版本,包括内核、GCC、nouveau 驱动、NVCC 等,信息如下:
Welcome to Ubuntu 16.04.7 LTS (GNU/Linux 4.4.0-98-generic x86_64)
$ uname -a
Linux p 4.4.0-98-generic #121-Ubuntu SMP Tue Oct 10 14:24:03 UTC 2017 x86_64 x86_64 x86_64 GNU/Linux
$ /usr/bin/gcc --version
gcc (Ubuntu 5.4.0-6ubuntu1~16.04.12) 5.4.0 20160609
Copyright (C) 2015 Free Software Foundation, Inc.
This is free software; see the source for copying conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
$ cat /etc/modprobe.d/blacklist-nouveau.conf
blacklist nouveau
options nouveau modeset=0
$ nvcc -V
nvcc: NVIDIA (R) Cuda compiler driver
Copyright (c) 2005-2017 NVIDIA Corporation
Built on Fri_Sep__1_21:08:03_CDT_2017
Cuda compilation tools, release 9.0, V9.0.176
$ nvidia-smi
Tue Jan 4 14:34:48 2022
+-----------------------------------------------------------------------------+
| NVIDIA-SMI 410.48 Driver Version: 410.48 |
|-------------------------------+----------------------+----------------------+
| GPU Name Persistence-M| Bus-Id Disp.A | Volatile Uncorr. ECC |
| Fan Temp Perf Pwr:Usage/Cap| Memory-Usage | GPU-Util Compute M. |
|===============================+======================+======================|
CUDA Toolkit 与 Nvidia Driver 版本的对应关系可查看这里。从官方文档看,高版本的显卡驱动应该是可以向前兼容低版本的 CUDA 。
CUDA Toolkit | Toolkit Driver Version | |
---|---|---|
Linux x86_64 Driver Version | Windows x86_64 Driver Version | |
CUDA 11.5 GA | >=495.29.05 | >=496.04 |
CUDA 11.4 Update 3 | >=470.82.01 | >=472.50 |
CUDA 11.4 Update 2 | >=470.57.02 | >=471.41 |
CUDA 11.4 Update 1 |