Ubuntu16.04装CUDA和cuDNN
前言
前提是显卡驱动已经装好。可以参考Ubuntu16.04安装NVIDIA显卡驱动。
笔者要复现的代码环境是ubuntu16.04,Python2.7,后续还要装TensorFlow-GPU。
参考文献:
[1] 理清GPU、CUDA、CUDA Toolkit、cuDNN关系以及下载安装
[2] 显卡驱动与cuda对应关系,cudnn与cuda之间的关系
[3] Tensorflow不同版本要求与CUDA及CUDNN版本对应关系
[4] CUDA Tookit Notes
[5] Ubuntu18.04+RTX 2080Ti+CUDA 10.0 +cuDNN+PyTorch搭建深度学习环境
终端运行nvidia-smi
,看图得知显卡的计算能力为460.67,最高可装11.2版本的CUDA。
因此,根据TensorFlow官网和自己的需求,选择Ubuntu16.04下装CUDA10.1,cuDNN7.6。
一、CUDA安装
1.查看ubuntu系统位数
终端输入以下命令获取ubuntu系统位数信息待用。
sudo uname --m
2.下载CUDA
在CUDA Toolkit Archive找到自己需要的CUDA,笔者选择CUDA10.1 update2版本。
选择对应的条件,笔者使用.run文件安装。
该网页的第二个方框为下载相关信息,如下图,红色框内的链接复制到浏览器打开,即下载对应的.run文件,放在ubuntu系统的Home文件夹下待用。
3.安装CUDA
打开终端,运行上图蓝色框内的命令,出现很长很长的协议,最后输入accept继续。
进入到下图,enter选择,去掉驱动前面的X,上下键移动到install,enter选择安装。
安装完毕,如下图所示。
4.配置环境
安装完成以后,需要把CUDA路径添加到当前用户的配置文件里。
终端执行以下命令打开.bachrc文件。
sudo gedit ~/.bashrc
上一张图中“Please make sure that”后就有两个安装路径,在.bachrc文件末尾加上两行安装路径。
export PATH="/usr/local/cuda-10.1/bin${PATH:+:${PATH}}"
export LD_LIBRARY_PATH="/usr/local/cuda10.1/lib64${LD_LIBRARY_PATH:+:${LD_LIBRARY_PATH}}"
如下图所示。
保存后关闭窗口,在终端运行以下命令使添加的路径生效。
source ~/.bashrc
此时运行nvcc --version
或nvcc -V
查看CUDA是否成功,如下图,出现了版本信息就说明安装成功。
- 例子测试
切换到 CUDA 10.1 Samples 默认安装路径(/home/用户/NVIDIA_CUDA-10.1_Samples )运行例子,在终端输入:
cd NVIDIA_CUDA-10.1_Samples
sudo make all -j4
得到下图中最后一行的“Finished building CUDA samples”,也可证明CUDA安装成功。
- 查看CUDA 驱动、运行版本
运行以下两个命令:
cd bin/x86_64/linux/release
./deviceQuery
结果如下图所示。
由此可得CUDA驱动版本是11.2,运行版本是10.1。
笔者的理解:CUDA 有两种API,分别是驱动API和运行时API,即所谓的Driver API与 Runtime API。驱动API意味着该显卡能装的最高版本CUDA,运行时API意味着当前使用着的CUDA版本,该版本不超过驱动API版本就行。
二、cuDNN安装
1.下载cuDNN
下载cuDNN需要用邮箱在NVIDIA官网注册一个账户,即可下载。
在cuDNN Archive找到要下载的cuDNN版本,注意下载的是cuDNN for Linux。笔者选择下载cuDNN7.6.5。
笔者下载下来的文件是cudnn-10.1-linux-x64-v7.6.5.32.tgz。
2.安装cuDNN
解压下载的.tgz文件,右键单击该文件,选择“提取到此处”或者使用以下命令解压。
tar -zxvf cudnn-10.1-linux-x64-v7.6.5.32.tgz
解压后可以看到一个cuda文件夹,在当前目录空白处右键一下,选择“在终端打开”,将该文件夹里的库和头文件复制到CUDA的安装路径并修改文件访问权限:
sudo cp cuda/include/cudnn.h /usr/local/cuda/include
sudo cp cuda/lib64/libcudnn* /usr/local/cuda/lib64
sudo chmod a+r /usr/local/cuda/include/cudnn.h
sudo chmod a+r /usr/local/cuda/lib64/libcudnn*
查看cuDNN版本,可测试是否安装成功:
cat /usr/local/cuda/include/cudnn.h | grep CUDNN_MAJOR -A 2
出现下图的cudnn版本说明安装成功。
三、相关记录
① ubuntu16.04+CUDA8.0
Ubuntu下安装CUDA8.0
② 切换多个版本的cuda
Ubuntu安装并切换多个版本的cuda
③ 安装多版本cuda和cudnn
a. Ubuntu16.04下安装多版本cuda和cudnn
b. Ubuntu16.04下安装多版本cuda和cudnn
c.Ubuntu18.04安装CUDA11.0 Installation failed. See log at /var/log/cuda-installer.log for details.