CUDA是GPU深度学习的运行库,那么cuDNN就是训练加速工具,两者要相互配合使用,所以一般机器学习需要训练引擎(tensorflow-gpu) + CUDA + cuDNN使用。想不安装cuDNN是不可以的,而且cuDNN版本要和CUDA版本相互搭配。
1、前置工作
查看显卡信息
nvidia-smi
+-----------------------------------------------------------------------------+
| NVIDIA-SMI 510.108.03 Driver Version: 510.108.03 CUDA Version: 11.6 |
|-------------------------------+----------------------+----------------------+
| GPU Name Persistence-M| Bus-Id Disp.A | Volatile Uncorr. ECC |
| Fan Temp Perf Pwr:Usage/Cap| Memory-Usage | GPU-Util Compute M. |
| | | MIG M. |
|===============================+======================+======================|
| 0 NVIDIA GeForce ... Off | 00000000:01:00.0 Off | N/A |
| N/A 42C P8 N/A / N/A | 9MiB / 2048MiB | 0% Default |
| | | N/A |
+-------------------------------+----------------------+----------------------+
+-----------------------------------------------------------------------------+
| Processes: |
| GPU GI CI PID Type Process name GPU Memory |
| ID ID Usage |
|=============================================================================|
| 0 N/A N/A 980 G /usr/lib/xorg/Xorg 4MiB |
| 0 N/A N/A 1592 G /usr/lib/xorg/Xorg 4MiB |
+-----------------------------------------------------------------------------+
- 如果出现这个样式,说明已经安装显卡驱动了。通常装好的Ubuntu中都有显卡驱动✔️
- 如果没有装驱动,Ubuntu有一种简便的装驱动方式,在软件与更新里找到附加驱动,一般来说挑一个数字版本比较大的安装即可,安装完毕重启电脑,再次输入
nvidia-smi
查看是否安装成功。
在输入nvidia-smi
后你可以看到右上角有CUDA Version: 11.6
(你的版本与我可能不一样),这不代表你的CUDA
安装成功了,这个版本是CUDA
的最高安装版本。
因此本文选择安装
CUDA 11.3
和CUDNN8.2.1
CUDNN
版本的选择:在下载的官网上可以看到支持CUDA 11.3
的CUDNN
2、安装CUDA 🔧
2.1 降低g++版本
Ubuntu 20.04默认g++9版本太高,会导致CUDA无法安装,因此要先降低g++版本
sudo apt-get install gcc-7 g++-7
sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-7 9
sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-9 1
sudo update-alternatives --display gcc
sudo update-alternatives --install /usr/bin/g++ g++ /usr/bin/g++-7 9
sudo update-alternatives --install /usr/bin/g++ g++ /usr/bin/g++-9 1
sudo update-alternatives --display g++
2.2 下载CUDA
CUDA官网:https://developer.nvidia.com/cuda-toolkit-archive
有20.04的就用20.04的,没有就选最大的,一般是18.04。推荐用runfile安装,只需要两行命令:
wget https://developer.download.nvidia.com/compute/cuda/11.3.0/local_installers/cuda_11.3.0_465.19.01_linux.run
sudo sh cuda_11.3.0_465.19.01_linux.run
wget
是下载命令
sh
是执行脚本命令
下面的安装图片是用的其他博主的,关键点我标出来了
accept
安装成功则进行环境环境变量配置
2.3 环境变量配置⚠️
此步很重要,必须要做,否则程序会找不到cuda
打开.bashrc
文件
#使用vim打开.bashrc
sudo vim ~/.bashrc
#使用记事本打开.bashrc
sudo gedit ~/.bashrc
在最后增加(注意请根据实际情况修改,你可以查看/usr/loacl目录下cuda的文件名是什么)
export PATH=/usr/local/cuda-11.3/bin${PATH:+:${PATH}}
export LD_LIBRARY_PATH=/usr/local/cuda-11.3/lib64${LD_LIBRARY_PATH:+:${LD_LIBRARY_PATH}}
刷新环境变量
source ~/.bashrc
检查一下CUDA
是否安装正确
cat /usr/local/cuda/version.json
查看CUDA
版本号
nvcc -V
3、安装CUDNN🔧
CUDNN
的安装比较简单,只需要下载对应版本的安装包,拷贝文件到指定目录,给予权限即可
CUDNN
官网需要注册才能下载
CUDNN官网:https://developer.nvidia.com/cudnn
拷贝文件+授予权限命令
sudo cp cuda/include/cudnn* /usr/local/cuda-11.3/include
sudo cp cuda/lib64/libcudnn* /usr/local/cuda-11.3/lib64
sudo chmod a+r /usr/local/cuda-11.3/include/cudnn*
sudo chmod a+r /usr/local/cuda-11.3/lib64/libcudnn*
查看cuDNN版本方法:
cat /usr/local/cuda/include/cudnn.h | grep CUDNN_MAJOR -A 2
注意,这句话可能执行了没效果,那是因为新版本换位置了,需要用:
cat /usr/local/cuda/include/cudnn_version.h | grep CUDNN_MAJOR -A 2
至此
CUDA
和CUDNN
的安装结束✌
参考博客
https://blog.csdn.net/h3c4lenovo/article/details/119003405