Ubuntu20.04下CUDA、cuDNN的详细安装与配置过程,亲测试可用(图文)
一、NVIDIA(英伟达)显卡驱动安装
NVIDIA显卡驱动可以通过指令sudo apt purge nvidia*
删除以前安装的NVIDIA驱动版本,重新安装。
1.1. 关闭系统自带驱动nouveau
注意!在安装NVIDIA驱动以前需要禁止系统自带显卡驱动nouveau:可以先通过指令lsmod | grep nouveau
查看nouveau驱动的启用情况,如果有输出表示nouveau驱动正在工作,如果没有内容输出则表示已经禁用了nouveau。
- 我的电脑有有输出,表示nouveau启动了,下面进行nouveau的禁用:
- 在终端输入
sudo gedit /etc/modprobe.d/blacklist.conf
弹出blacklist.conf文件:
- 在blacklist.conf文件末尾加上这两行,并保存:
blacklist nouveau
options nouveau modeset=0
- 1
- 2
- 然后在终端中输入:
sudo update-initramfs -u #应用更改
- 1
- 重启,就禁止了ubuntu20.04自带的nouveau显卡驱动了,接下来我们就可以安心的安装NVIDIA510.54版本的驱动程序了。
2.2. NVIDIA驱动安装
ubuntu20.04 安装NVIDIA驱动很容易,只只需要打开系统设置->软件和更新->附加驱动->选择NVIDIA驱动->应用更改。该界面会自动根据电脑上的GPU显示推荐的NVIDIA显卡驱动。
NVIDIA(英伟达)显卡驱动安装完成后,在终端输入nvidia-smi
输出如下图所示的结果就表示安装成功了。下图中绿色框内表明,安装的驱动支持的CUDA最高版本为11.4(注意这里需要重新启动电脑)。
二、安装CUDA
2.1. 下载与安装CUDA
如下图所示,这里以CUDA11.0.2为例,介绍ubuntu20.04系统上CUDA的安装。我们可以从NVIDIA官网CUDA下载页面,网址为https://developer.nvidia.com/cuda-toolkit-archive,点击CUDA Toolkit 11.0.2
下载相应版本的CUDA11.0.2。
在如下图所示的界面,以此选择Linux
然后弹出三种安装方法,根据安装经验这里推荐采用
r
u
n
f
i
l
e
(
l
o
c
a
l
)
方法,即选择如下图中的红圈中的选项。这是由于
C
U
D
A
的安装过程需要很多依赖库文件,
C
U
D
A
的
r
u
n
文件虽然比另外两种安装方法的文件大,但是它包含了所有的依赖库文件,所以采用相对来说很容易安装成功。
然后弹出三种安装方法,根据安装经验这里推荐采用runfile(local)方法,即选择如下图中的红圈中的选项。这是由于CUDA的安装过程需要很多依赖库文件,CUDA的run文件虽然比另外两种安装方法的文件大,但是它包含了所有的依赖库文件,所以采用相对来说很容易安装成功。
然后弹出三种安装方法,根据安装经验这里推荐采用runfile(local)方法,即选择如下图中的红圈中的选项。这是由于CUDA的安装过程需要很多依赖库文件,CUDA的run文件虽然比另外两种安装方法的文件大,但是它包含了所有的依赖库文件,所以采用相对来说很容易安装成功。
在安装CUDA11.0之前需要首先安装一些相互依赖的库文件:
sudo apt-get install freeglut3-dev build-essential libx11-dev libxmu-dev libxi-dev libgl1-mesa-glx libglu1-mesa libglu1-mesa-dev
- 1
下面为安装CUDA11.0.2的Ubuntu安装指令:
wget https://developer.download.nvidia.com/compute/cuda/11.0.2/local_installers/cuda_11.0.2_450.51.05_linux.run
sudo sh cuda_11.0.2_450.51.05_linux.run
- 1
- 2
运行上面指令后,会弹出如下界面,点击Continue
,然后再输入accept
。
接着,如下图所示,在弹出的界面中通过Enter
键,取消Driver
和450.51.05
的安装,然后点击Install
,等待
2.2. 配置CUDA的环境变量
CUDA安装完成后,需要配置变量环境才能正常使用。首先在终端输入sudo gedit ~/.bashrc
打开如下图所示的.bashrc
文件。
然后,如下图所示在.bashrc
文件的最后添加以下CUDA环境变量配置信息(我从不同的文章中看到这里添加的信息不仅相同,目前还不太清楚具体含义,所以这里仅仅罗列出它们):
export PATH=$PATH:/usr/local/cuda/bin
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/cuda/lib64
export LIBRARY_PATH=$LIBRARY_PATH:/usr/local/cuda/lib64
- 1
- 2
- 3
或
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/cuda/lib64
export PATH=$PATH:/usr/local/cuda/bin
export CUDA_HOME=$CUDA_HOME:/usr/local/cuda
- 1
- 2
- 3
注意:上面的CUDA环境变量配置方法有很多,本文的配置方法中的cuda不要指定具体的版本,主要是为了电脑中多个CUDA版本的切换。
最后,在终端输入source ~/.bashrc
或者重新启终端使之生效。这时,我们就可以在终端输入nvcc -V
查看CUDA的安装信息,如下图所示,至此CUDA安装成功。
2.3. CUDA测试
系统安装CUDA包括两个部分:NVIDIA CUDA GPU计算工具包和NVIDIA CUD示例包两个部分。
如下图所示,Ubuntu20.04系统会默认地将CUDA的NVIDIA GPU计算工具包安装到/usr/local/
文件夹下面,可以看到该文件夹下多了两个文件夹cuda
和cuda-11.0
。
对CUDA安装是否成功,需要进入NVIDIA CUDA示例包,其位于/home/liang/NVIDIA_CUDA-11.0_Samples
内,在该文件夹下打开终端,并输入make
。然后进入1_Utilities/deviceQuery
文件夹,并在终端执行./deviceQuery
命令,如下result=PASS
则表示安装成功。
三、cuDNN的安装与检测
3.1. cuDNN的安装
从NVIDIA官网的cudnn下载页面上下载与安装CUDA对应的cudnn,网址为https://developer.nvidia.com/rdp/cudnn-download。选择Ubuntu20.04系统下,CUDA11.0.2对应的cuDNN v8.0.5版本,如下图所示:
对下载的cudnn-11.0-linux-x64-v8.0.5.39.tgz
进行解压操作,得到一个文件夹cuda
,命令为:
tar -zxvf cudnn-11.0-linux-x64-v8.0.5.39.tgz
- 1
然后,使用下面两条指令复制cuda
文件夹下的文件到/usr/local/cuda-11.0/lib64/
和/usr/local/cuda-11.0/include/
中。
cp cuda/lib64/* /usr/local/cuda-11.0/lib64/
cp cuda/include/* /usr/local/cuda-11.0/include/
- 1
- 2
拷贝完成后,我们可以使用如下的命令查看cuDNN的信息:
cat /usr/local/cuda-11.0/include/cudnn_version.h | grep CUDNN_MAJOR -A 2
- 1
3.2. cuDNN的检测
从NVIDIA官网的cudnn下载页面上下载三个.deb
格式的检测文件,如下图所示:
在终端输入如下命令安装下载的三个.deb
格式的检测文件:
dpkg -i libcudnn8-dev_8.0.5.39-1+cuda11.0_amd64.deb
dpkg -i libcudnn8-samples_8.0.5.39-1+cuda11.0_amd64.deb
dpkg -i libcudnn8_8.0.5.39-1+cuda11.0_amd64.deb
- 1
- 2
- 3
通过上面三条指令,cuDNN的测试文件会自动安装在系统的/usr/src/cudnn_samples_v8
文件夹下,进入mnistCUDNN
下,执行命令make clean && make
。如果结果如下图所示,则表示cuDNN安装成功。
四、CUDA的卸载
进入到/usr/local/cuda-11.0/bin
目录下,而不是cuda
目录。然后打开终端,输入sudo ./cuda-uninstaller
。
输入命令后,弹出如下界面,通过回车键
选中三个选项,最后选中Done
。执行完下面指令后,上面的cuda
文件就删除了。
最后,在终端输入命令sudo rm -rf /usr/local/cuda-11.0
,就可以最终删除安装CUDA11.0和cuDNN v8.0.5了。