Ubuntu22安装N卡驱动以及CUDA

1. 前期准备

1.1 从NVIDIA官网下载相应驱动

官网网址:https://www.nvidia.com/Download/index.aspx?lang=en-us

image-20230815113714511

1.2 卸载Ubuntu自带的驱动程序

首先卸载Ubuntu自带的Nvidia驱动:

sudo apt purge nvidia*

这里可能显示卸载失败,可能是你的显卡正在被使用,可以尝试将显示器接到主板的接口,使用核显输出,然后重启一下,重新执行卸载。

 

1.3 禁用自带的nouveau nvidia驱动

sudo vi /etc/modprobe.d/blacklist.conf 

ps:这里需要使用vim进行编辑,如果没有安装的先安装一下:sudo apt install vim

在blacklist.conf文件中最后添加如下内容,然后保存退出:

blacklist nouveau 
options nouveau modeset=0 

PS:Vim先按i进入编辑模式,修改完成后按ESC,再输入:wq 执行保存退出。

然后更新刚才的配置:

sudo update-initramfs -u

重启电脑:

sudo reboot

验证是否完成禁用(没有输出则表示成功):

lsmod | grep nouveau

2. 安装显卡驱动

2.1 停止lightdm桌面服务

输入下面的代码关闭GUI界面(ubuntu server版本跳过):

警告:请先用其他设备找到本教程,接下来将进入DoS界面进行操作!!

sudo service lightdm stop

如果提示没有lightdm,使用下面命令安装,安装界面里选择lightdm

sudo apt install -y lightdm

PS:如果你和我一样也有核显,那么需要将显示器的线插到主板上,让核显工作,这样才能显示DOS界面。

2.2 安装驱动

首先查看你有没有安装gcc:

gcc --version

如果没有安装,则输入下面命令安装:

sudo apt install gcc & make

然后cd到你下载的显卡驱动的目录,进行授权并执行安装(这里的软件名改为你自己下载的):

sudo chmod a+x NVIDIA-Linux-x86_64-535.98.run
sudo ./NVIDIA-Linux-x86_64-535.98.run -no-x-check -no-nouveau-check -no-opengl-files

PS:对于长指令,可以输入前半部分然后单击Tab自动补齐。

  • 参数说明:

-no-x-check: 安装时关闭X服务;
-no-nouveau-check: 安装时禁用nouveau;
-no-opengl-files: 只安装驱动文件,不安装OpenGL文件。
安装过程中下面步骤按照下图选择,其它默认。

  • 安装说明:

(1)"The distribution-provided pre-install script failed!…",继续
(2)"Unable to find a suitable destination to install 32-bit compatibility libraries…",继续
(3)"Would you like to run the nvidia-xconfig utility to automatically update your X configuration file so that…",选择"Yes",切记!!!

2.3 验证安装及取消更新

安装完成以后执行nvidia-smi,如果显示如下内容则表示安装成功:

image-20230815132421552

然后使用sudo service lightdm start 重新开启GUI,或者直接重启也可以。

进入GUI后记得在Software & Updates (软件和更新)中关闭系统的自动更新,否则会把你的驱动也一起更新了:

image-20230815132610860

2.4 后续管理

查看显卡型号:

nvidia-smi -L

查看显卡驱动版本:

cat /proc/driver/nvidia/version

卸载驱动:

sudo /usr/bin/nvidia-uninstall

3. 安装CUDA

3.1 下载及安装

首先使用 nvidia-smi 查看显卡驱动支持的CUDA版本,如下图所示,我的最高支持12.2版本

image-20230815133655818

进入NVIDIA的官方下载地址:https://developer.nvidia.com/cuda-toolkit-archive,选择CUDA Toolkit 12.2.0 ,跳转到下载,选择你的系统版本,最后选择runfile文件:

image-20230815133956676

按照网站中提供的指令进行下载和安装,安装过程中选项如下图所示:

  • 选择Continue:

image-20230815113043839

  • 输入accept,然后回车:

image-20230815113402975

  • 这里注意,我们只安装CUDA Toolkit 12.2,其他都不要选中(因为之前已经安装好驱动了),否则会出错:

image-20230815113129230

等待安装,安装过程中不会有任何输出,不是卡住了,稍等片刻就行。

3.2 激活环境

然后输入 vim .bashrc ,在文件末尾输入下方内容(注意版本号要和你所安装的一致,我的是12.2):

export PATH=/usr/local/cuda-12.2/bin${PATH:+:${PATH}}
export LD_LIBRARY_PATH=/usr/local/cuda-12.2/lib64${LD_LIBRARY_PATH:+:${LD_LIBRARY_PATH}}

然后输入source ~/.bashrc 更新变量,使其生效,输入nvcc -V 验证是否安装成功:

image-20230815113640590

3.3 后续管理

卸载CUDA:

cd /usr/local/cuda-10.2/bin
sudo cuda-uninstaller

4. 安装cuDNN

首先还是下载,官方网址:https://developer.nvidia.com/rdp/cudnn-download,需要注册一个账号。选择和你的CUDA以及系统对应的版本下载deb文件即可。

然后参照NVIDIA官方教程进行即可(1.3.2):https://docs.nvidia.com/deeplearning/cudnn/install-guide/index.html

注意: 不是无脑复制粘贴,需要修改你自己的CUDA和cuDNN的版本号,看仔细进行!

接着参照NVIDIA官方教程进行测试即可(1.4),其中可能会报错:

test.c:1:10: fatal error: FreeImage.h: 没有那个文件或目录
    1 | #include "FreeImage.h"
      |          ^~~~~~~~~~~~~

输入sudo apt-get install libfreeimage3 libfreeimage-dev 重新执行即可。最后提示 Test passed! 则安装成功!

整个过程参考(包含部分报错):

(base) fang@fang-Linux-4090:~/下载$ sudo dpkg -i cudnn-local-repo-ubuntu2204-8.9.4.25_1.0-1_amd64.deb 
[sudo] fang 的密码: 
正在选中未选择的软件包 cudnn-local-repo-ubuntu2204-8.9.4.25。
(正在读取数据库 ... 系统当前共安装有 202943 个文件和目录。)
准备解压 cudnn-local-repo-ubuntu2204-8.9.4.25_1.0-1_amd64.deb  ...
正在解压 cudnn-local-repo-ubuntu2204-8.9.4.25 (1.0-1) ...
正在设置 cudnn-local-repo-ubuntu2204-8.9.4.25 (1.0-1) ...

The public cudnn-local-repo-ubuntu2204-8.9.4.25 GPG key does not appear to be installed.
To install the key, run this command:
sudo cp /var/cudnn-local-repo-ubuntu2204-8.9.4.25/cudnn-local-3C3A81D3-keyring.gpg /usr/share/keyrings/

(base) fang@fang-Linux-4090:~/下载$ sudo cp /var/cudnn-local-repo-ubuntu2204-8.9.4.25/cudnn-local-3C3A81D3-keyring.gpg /usr/share/keyrings/
(base) fang@fang-Linux-4090:~/下载$ sudo cp /var/cudnn-local-repo-*/cudnn-local-*-keyring.gpg /usr/share/keyrings/
(base) fang@fang-Linux-4090:~/下载$ sudo cp /var/cudnn-local-repo-ubuntu2204-8.9.4.25/cudnn-local-3C3A81D3-keyring.gpg /usr/share/keyrings/
(base) fang@fang-Linux-4090:~/下载$ sudo apt-get update
获取:1 file:/var/cuda-repo-ubuntu2204-12-1-local  InRelease [1,572 B]
获取:1 file:/var/cuda-repo-ubuntu2204-12-1-local  InRelease [1,572 B]
获取:2 file:/var/cuda-repo-ubuntu2204-12-2-local  InRelease [1,572 B]          
获取:3 file:/var/cudnn-local-repo-ubuntu2204-8.9.4.25  InRelease [1,572 B]     
获取:2 file:/var/cuda-repo-ubuntu2204-12-2-local  InRelease [1,572 B]          
获取:3 file:/var/cudnn-local-repo-ubuntu2204-8.9.4.25  InRelease [1,572 B]     
错误:2 file:/var/cuda-repo-ubuntu2204-12-2-local  InRelease                    
  由于没有公钥,无法验证下列签名: NO_PUBKEY DB37F1BE216F19BD
获取:4 file:/var/cudnn-local-repo-ubuntu2204-8.9.4.25  Packages [949 B]   
获取:5 http://security.ubuntu.com/ubuntu jammy-security InRelease [110 kB]     
命中:6 http://cn.archive.ubuntu.com/ubuntu jammy InRelease                     
获取:7 http://cn.archive.ubuntu.com/ubuntu jammy-updates InRelease [119 kB]
获取:8 http://security.ubuntu.com/ubuntu jammy-security/main amd64 DEP-11 Metadata [42.8 kB]
获取:9 http://cn.archive.ubuntu.com/ubuntu jammy-backports InRelease [109 kB]
获取:10 http://security.ubuntu.com/ubuntu jammy-security/universe amd64 DEP-11 Metadata [39.9 kB]
获取:11 http://cn.archive.ubuntu.com/ubuntu jammy-updates/main amd64 DEP-11 Metadata [101 kB]
获取:12 http://cn.archive.ubuntu.com/ubuntu jammy-updates/universe amd64 DEP-11 Metadata [278 kB]
获取:13 http://cn.archive.ubuntu.com/ubuntu jammy-updates/multiverse amd64 DEP-11 Metadata [940 B]
获取:14 http://cn.archive.ubuntu.com/ubuntu jammy-backports/main amd64 DEP-11 Metadata [4,912 B]
获取:15 http://cn.archive.ubuntu.com/ubuntu jammy-backports/universe amd64 DEP-11 Metadata [15.5 kB]
已下载 820 kB,耗时 3秒 (246 kB/s)                                       
正在读取软件包列表... 完成
W: 校验数字签名时出错。此仓库未被更新,所以仍然使用此前的索引文件。GPG 错误:file:/var/cuda-repo-ubuntu2204-12-2-local  InRelease: 由于没有公钥,无法验证下列签名: NO_PUBKEY DB37F1BE216F19BD
W: 无法下载 file:/var/cuda-repo-ubuntu2204-12-2-local/InRelease  由于没有公钥,无法验证下列签名: NO_PUBKEY DB37F1BE216F19BD
W: 部分索引文件下载失败。如果忽略它们,那将转而使用旧的索引文件。
(base) fang@fang-Linux-4090:~/下载$ sudo dpkg -i cudnn-local-repo-ubuntu2204-8.9.4.25_1.0-1_amd64.deb 
(正在读取数据库 ... 系统当前共安装有 202959 个文件和目录。)
准备解压 cudnn-local-repo-ubuntu2204-8.9.4.25_1.0-1_amd64.deb  ...
正在解压 cudnn-local-repo-ubuntu2204-8.9.4.25 (1.0-1) 并覆盖 (1.0-1) ...
正在设置 cudnn-local-repo-ubuntu2204-8.9.4.25 (1.0-1) ...
(base) fang@fang-Linux-4090:~/下载$ sudo cp /var/cudnn-local-repo-ubuntu2204-8.9.4.25/cudnn-local-3C3A81D3-keyring.gpg /usr/share/keyrings/
(base) fang@fang-Linux-4090:~/下载$ sudo apt-get update
获取:1 file:/var/cuda-repo-ubuntu2204-12-1-local  InRelease [1,572 B]
获取:2 file:/var/cuda-repo-ubuntu2204-12-2-local  InRelease [1,572 B]
获取:3 file:/var/cudnn-local-repo-ubuntu2204-8.9.4.25  InRelease [1,572 B]     
获取:1 file:/var/cuda-repo-ubuntu2204-12-1-local  InRelease [1,572 B]          
获取:2 file:/var/cuda-repo-ubuntu2204-12-2-local  InRelease [1,572 B]          
获取:3 file:/var/cudnn-local-repo-ubuntu2204-8.9.4.25  InRelease [1,572 B]     
错误:2 file:/var/cuda-repo-ubuntu2204-12-2-local  InRelease                    
  由于没有公钥,无法验证下列签名: NO_PUBKEY DB37F1BE216F19BD
命中:4 http://cn.archive.ubuntu.com/ubuntu jammy InRelease                     
命中:5 http://security.ubuntu.com/ubuntu jammy-security InRelease              
命中:6 http://cn.archive.ubuntu.com/ubuntu jammy-updates InRelease
命中:7 http://cn.archive.ubuntu.com/ubuntu jammy-backports InRelease
正在读取软件包列表... 完成
W: 校验数字签名时出错。此仓库未被更新,所以仍然使用此前的索引文件。GPG 错误:file:/var/cuda-repo-ubuntu2204-12-2-local  InRelease: 由于没有公钥,无法验证下列签名: NO_PUBKEY DB37F1BE216F19BD
W: 无法下载 file:/var/cuda-repo-ubuntu2204-12-2-local/InRelease  由于没有公钥,无法验证下列签名: NO_PUBKEY DB37F1BE216F19BD
W: 部分索引文件下载失败。如果忽略它们,那将转而使用旧的索引文件。
(base) fang@fang-Linux-4090:~/下载$ sudo apt-get install libcudnn8=8.9.4.25_1.0-1+cuda12.2
正在读取软件包列表... 完成
正在分析软件包的依赖关系树... 完成
正在读取状态信息... 完成                 
没有可用的软件包 libcudnn8,但是它被其它的软件包引用了。
这可能意味着这个缺失的软件包可能已被废弃,
或者只能在其他发布源中找到

E: 未找到“libcudnn8”的“8.9.4.25_1.0-1+cuda12.2”版本
(base) fang@fang-Linux-4090:~/下载$ sudo apt-get install libcudnn8=8.9.4.25-1+cuda12.2
正在读取软件包列表... 完成
正在分析软件包的依赖关系树... 完成
正在读取状态信息... 完成                 
下列【新】软件包将被安装:
  libcudnn8
升级了 0 个软件包,新安装了 1 个软件包,要卸载 0 个软件包,有 5 个软件包未被升级。
需要下载 0 B/455 MB 的归档。
解压缩后会消耗 1,142 MB 的额外空间。
获取:1 file:/var/cudnn-local-repo-ubuntu2204-8.9.4.25  libcudnn8 8.9.4.25-1+cuda12.2 [455 MB]
正在选中未选择的软件包 libcudnn8。
(正在读取数据库 ... 系统当前共安装有 202959 个文件和目录。)
准备解压 .../libcudnn8_8.9.4.25-1+cuda12.2_amd64.deb  ...
正在解压 libcudnn8 (8.9.4.25-1+cuda12.2) ...
正在设置 libcudnn8 (8.9.4.25-1+cuda12.2) ...
(base) fang@fang-Linux-4090:~/下载$  cp -r /usr/src/cudnn_samples_v8/ /home/user/
cp: 对 '/usr/src/cudnn_samples_v8/' 调用 stat 失败: 没有那个文件或目录
(base) fang@fang-Linux-4090:~/下载$  cp -r /usr/src/cudnn_samples_v8/ ./         
cp: 对 '/usr/src/cudnn_samples_v8/' 调用 stat 失败: 没有那个文件或目录
(base) fang@fang-Linux-4090:~/下载$ cd /usr/src/
(base) fang@fang-Linux-4090:/usr/src$ ls
linux-headers-5.19.0-32-generic  linux-hwe-5.19-headers-5.19.0-32  nvidia-535.98
linux-headers-6.2.0-26-generic   linux-hwe-6.2-headers-6.2.0-26
(base) fang@fang-Linux-4090:/usr/src$ sudo apt-get install libcudnn8-dev=8.9.4.25-1+cuda12.2
正在读取软件包列表... 完成
正在分析软件包的依赖关系树... 完成
正在读取状态信息... 完成                 
下列【新】软件包将被安装:
  libcudnn8-dev
升级了 0 个软件包,新安装了 1 个软件包,要卸载 0 个软件包,有 5 个软件包未被升级。
需要下载 0 B/448 MB 的归档。
解压缩后会消耗 1,325 MB 的额外空间。
获取:1 file:/var/cudnn-local-repo-ubuntu2204-8.9.4.25  libcudnn8-dev 8.9.4.25-1+cuda12.2 [448 MB]
正在选中未选择的软件包 libcudnn8-dev。
(正在读取数据库 ... 系统当前共安装有 202976 个文件和目录。)
准备解压 .../libcudnn8-dev_8.9.4.25-1+cuda12.2_amd64.deb  ...
正在解压 libcudnn8-dev (8.9.4.25-1+cuda12.2) ...
正在设置 libcudnn8-dev (8.9.4.25-1+cuda12.2) ...
update-alternatives: 使用 /usr/include/x86_64-linux-gnu/cudnn_v8.h 来在自动模式中提供 /usr/include/cudnn.h (libcudnn)
(base) fang@fang-Linux-4090:/usr/src$ sudo apt-get install libcudnn8-samples=8.9.4.25-1+cuda12.2
正在读取软件包列表... 完成
正在分析软件包的依赖关系树... 完成
正在读取状态信息... 完成                 
下列【新】软件包将被安装:
  libcudnn8-samples
升级了 0 个软件包,新安装了 1 个软件包,要卸载 0 个软件包,有 5 个软件包未被升级。
需要下载 0 B/1,663 kB 的归档。
解压缩后会消耗 2,169 kB 的额外空间。
获取:1 file:/var/cudnn-local-repo-ubuntu2204-8.9.4.25  libcudnn8-samples 8.9.4.25-1+cuda12.2 [1,663 kB]
正在选中未选择的软件包 libcudnn8-samples。
(正在读取数据库 ... 系统当前共安装有 203009 个文件和目录。)
准备解压 .../libcudnn8-samples_8.9.4.25-1+cuda12.2_amd64.deb  ...
正在解压 libcudnn8-samples (8.9.4.25-1+cuda12.2) ...
正在设置 libcudnn8-samples (8.9.4.25-1+cuda12.2) ...
(base) fang@fang-Linux-4090:/usr/src$ $cp -r /usr/src/cudnn_samples_v8/ ./
-r:未找到命令
(base) fang@fang-Linux-4090:/usr/src$ cp -r /usr/src/cudnn_samples_v8/ ./
cp: '/usr/src/cudnn_samples_v8/' 与 './cudnn_samples_v8' 为同一文件
(base) fang@fang-Linux-4090:/usr/src$ cd
(base) fang@fang-Linux-4090:~$ cp -r /usr/src/cudnn_samples_v8/ ./
(base) fang@fang-Linux-4090:~$  cd  ./cudnn_samples_v8/mnistCUDNN
(base) fang@fang-Linux-4090:~/cudnn_samples_v8/mnistCUDNN$ make clean && make
rm -rf *o
rm -rf mnistCUDNN
CUDA_VERSION is 12020
Linking agains cublasLt = true
CUDA VERSION: 12020
TARGET ARCH: x86_64
HOST_ARCH: x86_64
TARGET OS: linux
SMS: 50 53 60 61 62 70 72 75 80 86 87 90
test.c:1:10: fatal error: FreeImage.h: 没有那个文件或目录
    1 | #include "FreeImage.h"
      |          ^~~~~~~~~~~~~
compilation terminated.
>>> WARNING - FreeImage is not set up correctly. Please ensure FreeImage is set up correctly. <<<
[@] /usr/local/cuda/bin/nvcc -I/usr/local/cuda/include -I/usr/local/cuda/include -IFreeImage/include -ccbin g++ -m64 -gencode arch=compute_50,code=sm_50 -gencode arch=compute_53,code=sm_53 -gencode arch=compute_60,code=sm_60 -gencode arch=compute_61,code=sm_61 -gencode arch=compute_62,code=sm_62 -gencode arch=compute_70,code=sm_70 -gencode arch=compute_72,code=sm_72 -gencode arch=compute_75,code=sm_75 -gencode arch=compute_80,code=sm_80 -gencode arch=compute_86,code=sm_86 -gencode arch=compute_87,code=sm_87 -gencode arch=compute_90,code=sm_90 -gencode arch=compute_90,code=compute_90 -o fp16_dev.o -c fp16_dev.cu
[@] g++ -I/usr/local/cuda/include -I/usr/local/cuda/include -IFreeImage/include -o fp16_emu.o -c fp16_emu.cpp
[@] g++ -I/usr/local/cuda/include -I/usr/local/cuda/include -IFreeImage/include -o mnistCUDNN.o -c mnistCUDNN.cpp
[@] /usr/local/cuda/bin/nvcc -ccbin g++ -m64 -gencode arch=compute_50,code=sm_50 -gencode arch=compute_53,code=sm_53 -gencode arch=compute_60,code=sm_60 -gencode arch=compute_61,code=sm_61 -gencode arch=compute_62,code=sm_62 -gencode arch=compute_70,code=sm_70 -gencode arch=compute_72,code=sm_72 -gencode arch=compute_75,code=sm_75 -gencode arch=compute_80,code=sm_80 -gencode arch=compute_86,code=sm_86 -gencode arch=compute_87,code=sm_87 -gencode arch=compute_90,code=sm_90 -gencode arch=compute_90,code=compute_90 -o mnistCUDNN fp16_dev.o fp16_emu.o mnistCUDNN.o -I/usr/local/cuda/include -I/usr/local/cuda/include -IFreeImage/include -L/usr/local/cuda/lib64 -L/usr/local/cuda/lib64 -L/usr/local/cuda/lib64 -lcublasLt -LFreeImage/lib/linux/x86_64 -LFreeImage/lib/linux -lcudart -lcublas -lcudnn -lfreeimage -lstdc++ -lm
(base) fang@fang-Linux-4090:~/cudnn_samples_v8/mnistCUDNN$ $ ./mnistCUDNN
$:未找到命令
(base) fang@fang-Linux-4090:~/cudnn_samples_v8/mnistCUDNN$ ./mnistCUDNN
bash: ./mnistCUDNN: 没有那个文件或目录
(base) fang@fang-Linux-4090:~/cudnn_samples_v8/mnistCUDNN$ make clean && make
rm -rf *o
rm -rf mnistCUDNN
CUDA_VERSION is 12020
Linking agains cublasLt = true
CUDA VERSION: 12020
TARGET ARCH: x86_64
HOST_ARCH: x86_64
TARGET OS: linux
SMS: 50 53 60 61 62 70 72 75 80 86 87 90
test.c:1:10: fatal error: FreeImage.h: 没有那个文件或目录
    1 | #include "FreeImage.h"
      |          ^~~~~~~~~~~~~
compilation terminated.
>>> WARNING - FreeImage is not set up correctly. Please ensure FreeImage is set up correctly. <<<
[@] /usr/local/cuda/bin/nvcc -I/usr/local/cuda/include -I/usr/local/cuda/include -IFreeImage/include -ccbin g++ -m64 -gencode arch=compute_50,code=sm_50 -gencode arch=compute_53,code=sm_53 -gencode arch=compute_60,code=sm_60 -gencode arch=compute_61,code=sm_61 -gencode arch=compute_62,code=sm_62 -gencode arch=compute_70,code=sm_70 -gencode arch=compute_72,code=sm_72 -gencode arch=compute_75,code=sm_75 -gencode arch=compute_80,code=sm_80 -gencode arch=compute_86,code=sm_86 -gencode arch=compute_87,code=sm_87 -gencode arch=compute_90,code=sm_90 -gencode arch=compute_90,code=compute_90 -o fp16_dev.o -c fp16_dev.cu
[@] g++ -I/usr/local/cuda/include -I/usr/local/cuda/include -IFreeImage/include -o fp16_emu.o -c fp16_emu.cpp
[@] g++ -I/usr/local/cuda/include -I/usr/local/cuda/include -IFreeImage/include -o mnistCUDNN.o -c mnistCUDNN.cpp
[@] /usr/local/cuda/bin/nvcc -ccbin g++ -m64 -gencode arch=compute_50,code=sm_50 -gencode arch=compute_53,code=sm_53 -gencode arch=compute_60,code=sm_60 -gencode arch=compute_61,code=sm_61 -gencode arch=compute_62,code=sm_62 -gencode arch=compute_70,code=sm_70 -gencode arch=compute_72,code=sm_72 -gencode arch=compute_75,code=sm_75 -gencode arch=compute_80,code=sm_80 -gencode arch=compute_86,code=sm_86 -gencode arch=compute_87,code=sm_87 -gencode arch=compute_90,code=sm_90 -gencode arch=compute_90,code=compute_90 -o mnistCUDNN fp16_dev.o fp16_emu.o mnistCUDNN.o -I/usr/local/cuda/include -I/usr/local/cuda/include -IFreeImage/include -L/usr/local/cuda/lib64 -L/usr/local/cuda/lib64 -L/usr/local/cuda/lib64 -lcublasLt -LFreeImage/lib/linux/x86_64 -LFreeImage/lib/linux -lcudart -lcublas -lcudnn -lfreeimage -lstdc++ -lm
(base) fang@fang-Linux-4090:~/cudnn_samples_v8/mnistCUDNN$ sudo apt-get install libfreeimage3 libfreeimage-dev
正在读取软件包列表... 完成
正在分析软件包的依赖关系树... 完成
正在读取状态信息... 完成                 
将会同时安装下列软件:
  libraw20
下列【新】软件包将被安装:
  libfreeimage-dev libfreeimage3 libraw20
升级了 0 个软件包,新安装了 3 个软件包,要卸载 0 个软件包,有 5 个软件包未被升级。
需要下载 1,005 kB 的归档。
解压缩后会消耗 4,776 kB 的额外空间。
您希望继续执行吗? [Y/n] 
获取:1 http://cn.archive.ubuntu.com/ubuntu jammy-updates/main amd64 libraw20 amd64 0.20.2-2ubuntu2.22.04.1 [342 kB]
获取:2 http://cn.archive.ubuntu.com/ubuntu jammy/universe amd64 libfreeimage3 amd64 3.18.0+ds2-6ubuntu5 [293 kB]
获取:3 http://cn.archive.ubuntu.com/ubuntu jammy/universe amd64 libfreeimage-dev amd64 3.18.0+ds2-6ubuntu5 [370 kB]
已下载 1,005 kB,耗时 3秒 (365 kB/s)      
正在选中未选择的软件包 libraw20:amd64。
(正在读取数据库 ... 系统当前共安装有 203075 个文件和目录。)
准备解压 .../libraw20_0.20.2-2ubuntu2.22.04.1_amd64.deb  ...
正在解压 libraw20:amd64 (0.20.2-2ubuntu2.22.04.1) ...
正在选中未选择的软件包 libfreeimage3:amd64。
准备解压 .../libfreeimage3_3.18.0+ds2-6ubuntu5_amd64.deb  ...
正在解压 libfreeimage3:amd64 (3.18.0+ds2-6ubuntu5) ...
正在选中未选择的软件包 libfreeimage-dev。
准备解压 .../libfreeimage-dev_3.18.0+ds2-6ubuntu5_amd64.deb  ...
正在解压 libfreeimage-dev (3.18.0+ds2-6ubuntu5) ...
正在设置 libraw20:amd64 (0.20.2-2ubuntu2.22.04.1) ...
正在设置 libfreeimage3:amd64 (3.18.0+ds2-6ubuntu5) ...
正在设置 libfreeimage-dev (3.18.0+ds2-6ubuntu5) ...
正在处理用于 libc-bin (2.35-0ubuntu3.1) 的触发器 ...
(base) fang@fang-Linux-4090:~/cudnn_samples_v8/mnistCUDNN$ make clean && make
rm -rf *o
rm -rf mnistCUDNN
CUDA_VERSION is 12020
Linking agains cublasLt = true
CUDA VERSION: 12020
TARGET ARCH: x86_64
HOST_ARCH: x86_64
TARGET OS: linux
SMS: 50 53 60 61 62 70 72 75 80 86 87 90
/usr/local/cuda/bin/nvcc -I/usr/local/cuda/include -I/usr/local/cuda/include -IFreeImage/include -ccbin g++ -m64 -gencode arch=compute_50,code=sm_50 -gencode arch=compute_53,code=sm_53 -gencode arch=compute_60,code=sm_60 -gencode arch=compute_61,code=sm_61 -gencode arch=compute_62,code=sm_62 -gencode arch=compute_70,code=sm_70 -gencode arch=compute_72,code=sm_72 -gencode arch=compute_75,code=sm_75 -gencode arch=compute_80,code=sm_80 -gencode arch=compute_86,code=sm_86 -gencode arch=compute_87,code=sm_87 -gencode arch=compute_90,code=sm_90 -gencode arch=compute_90,code=compute_90 -o fp16_dev.o -c fp16_dev.cu
g++ -I/usr/local/cuda/include -I/usr/local/cuda/include -IFreeImage/include   -o fp16_emu.o -c fp16_emu.cpp
g++ -I/usr/local/cuda/include -I/usr/local/cuda/include -IFreeImage/include   -o mnistCUDNN.o -c mnistCUDNN.cpp
/usr/local/cuda/bin/nvcc -ccbin g++ -m64 -gencode arch=compute_50,code=sm_50 -gencode arch=compute_53,code=sm_53 -gencode arch=compute_60,code=sm_60 -gencode arch=compute_61,code=sm_61 -gencode arch=compute_62,code=sm_62 -gencode arch=compute_70,code=sm_70 -gencode arch=compute_72,code=sm_72 -gencode arch=compute_75,code=sm_75 -gencode arch=compute_80,code=sm_80 -gencode arch=compute_86,code=sm_86 -gencode arch=compute_87,code=sm_87 -gencode arch=compute_90,code=sm_90 -gencode arch=compute_90,code=compute_90 -o mnistCUDNN fp16_dev.o fp16_emu.o mnistCUDNN.o -I/usr/local/cuda/include -I/usr/local/cuda/include -IFreeImage/include -L/usr/local/cuda/lib64 -L/usr/local/cuda/lib64 -L/usr/local/cuda/lib64 -lcublasLt -LFreeImage/lib/linux/x86_64 -LFreeImage/lib/linux -lcudart -lcublas -lcudnn -lfreeimage -lstdc++ -lm
(base) fang@fang-Linux-4090:~/cudnn_samples_v8/mnistCUDNN$ ./mnistCUDNN
Executing: mnistCUDNN
cudnnGetVersion() : 8904 , CUDNN_VERSION from cudnn.h : 8904 (8.9.4)
Host compiler version : GCC 11.4.0

There are 1 CUDA capable devices on your machine :
device 0 : sms 128  Capabilities 8.9, SmClock 2550.0 Mhz, MemSize (Mb) 24211, MemClock 10501.0 Mhz, Ecc=0, boardGroupID=0
Using device 0

卸载cuDNN方法:sudo rm -rf /usr/local/cuda-8.0

5. Reference

驱动,CUDA,cuDNN等之间的区别:https://zhuanlan.zhihu.com/p/91334380

驱动管理命令:https://zhuanlan.zhihu.com/p/243256494

安装教程1:https://www.cnblogs.com/DeepRS/p/15812370.html

安装教程2:https://blog.csdn.net/qq_49323609/article/details/130310522

暂无评论

发送评论 编辑评论


|´・ω・)ノ
ヾ(≧∇≦*)ゝ
(☆ω☆)
(╯‵□′)╯︵┴─┴
 ̄﹃ ̄
(/ω\)
∠( ᐛ 」∠)_
(๑•̀ㅁ•́ฅ)
→_→
୧(๑•̀⌄•́๑)૭
٩(ˊᗜˋ*)و
(ノ°ο°)ノ
(´இ皿இ`)
⌇●﹏●⌇
(ฅ´ω`ฅ)
(╯°A°)╯︵○○○
φ( ̄∇ ̄o)
ヾ(´・ ・`。)ノ"
( ง ᵒ̌皿ᵒ̌)ง⁼³₌₃
(ó﹏ò。)
Σ(っ °Д °;)っ
( ,,´・ω・)ノ"(´っω・`。)
╮(╯▽╰)╭
o(*////▽////*)q
>﹏<
( ๑´•ω•) "(ㆆᴗㆆ)
😂
😀
😅
😊
🙂
🙃
😌
😍
😘
😜
😝
😏
😒
🙄
😳
😡
😔
😫
😱
😭
💩
👻
🙌
🖕
👍
👫
👬
👭
🌚
🌝
🙈
💊
😶
🙏
🍦
🍉
😣
Source: github.com/k4yt3x/flowerhd
颜文字
Emoji
小恐龙
花!
上一篇
下一篇