Ubuntu中CUDA的安装
原因:不同的深度学习环境需要不同版本的CUDA,这里我需要安装 CUDA10.0和CUDA9.2
附: Tensorflow-GPU、CUDA、GCC版本对应关系
准备工作:
系统中需要安装英伟达驱动
附:Ubuntu18.04中超简单的NVIDIA驱动安装
系统中需要同时存在gcc4.8和gcc7
附:Ubuntu18.04系统gcc多版本共存与切换
一、安装CUDA10.0
1 下载CUDA和cuDNN
1.1 CUDA下载选项:
1.2 CUDA下载说明:
1为主要安装包,2为补丁
1.3 cuDNN下载选项
选择合适的版本,我这里选的是cuDNN7.6.1 for CUDA 10.0。
注意!别下载错!
2 CUDA的安装
在下载文件夹中打开终端,输入命令:
1 :$ sudo sh cuda_10.0.130_410.48_linux.run # cuda主程序安装命令
2 :$ sudo sh cuda_10.0.130.1_linux.run # cuda补丁安装命令
在安装的过程中弹出的选项选择,驱动一定要选no:
# 一直回车到许可结束(真长啊)
许可:accept
驱动:n # 驱动这里注意不要在装了
安装CUDA Toolkit:y
安装位置:/home/tian/myapps/cuda-10.0 # 需要事先建好cuda-10.0文件夹,默认/usr/local/cuda-10.0
软连接:y # 是否建立软连接,选择是
安装CUDA Samples:y # 样例,可选,我这里安装了。下一步选择位置,默认即可
补丁的安装非常简单:
# 一直回车到许可结束(真长啊)
许可:accept
安装CUDA Toolkit:y
安装位置:/home/tian/myapps/cuda-10.0 # 和主程序的位置一致即可
添加环境变量
:~$ gedit ~/.bashrc
在打开的.bashrc文件最下方,添加以下内容
export PATH=/usr/local/cuda/bin${PATH:+:${PATH}}
export LD_LIBRARY_PATH=/usr/local/cuda/lib64${LD_LIBRARY_PATH:+:${LD_LIBRARY_PATH}}
export CUDA_HOME=/usr/local/cuda
更新环境变量
source ~/.bashrc
重新打开终端,验证:
:$ nvcc -V
>> # 输出对应版本即可
安装完成后可到 /home/tian/myapps/cuda-10.0(自定义文件夹)下查看安装文件,
可到/usr/local/cuda下查看软链接(ls -l cuda 查看链接指向)
3 cuDNN安装
注意顺序,第二个是dev,第三个是doc。
:$ sudo dpkg -i libcudnn7_7.6.1.34-1+cuda10.0_amd64.deb
:$ sudo dpkg -i libcudnn7-dev_7.6.1.34-1+cuda10.0_amd64.deb
:$ sudo dpkg -i libcudnn7-doc_7.6.1.34-1+cuda10.0_amd64.deb
执行完毕,安装完成!
二、安装CUDA9.2
整体流程:
- 转gcc版本
- 删除软链接
- 安装cuda其它版本(和cuda10安装流程相似)
1. gcc版本切换
:~$ sudo update-alternatives --config gcc
>>
有 2 个候选项可用于替换 gcc (提供 /usr/bin/gcc)。
选择 路径 优先级 状态
------------------------------------------------------------
* 0 /usr/bin/gcc-7 70 自动模式
1 /usr/bin/gcc-4.8 40 手动模式
2 /usr/bin/gcc-7 70 手动模式
要维持当前值[*]请按<回车键>,或者键入选择的编号:1 # 这里根据需要选择
update-alternatives: 使用 /usr/bin/gcc-4.8 来在手动模式中提供 /usr/bin/gcc (gcc)
:~$ gcc -v # 查看当前版本是否切换成功
>> gcc version 4.8.5 (Ubuntu 4.8.5-4ubuntu8) # 最后一行显示当前gcc版本为4.8.5
2. 删除软链接
注意!!!
后边千万不要有 / 符号,否则将会删除软链接指向的文件,即cuda10.0
:~$ sudo rm -rf /usr/local/cuda # 删除之前创建的软链接,后边千万不要有 ’ / ’ 符号
3.安装cuda其它版本
3.1下载文件(和CUDA10类似)
由于CUDA9.2不支持Ubuntu18.04,我这里下载的是Ubuntu16.04版本的
下载的版本,没有下载Samples
下载项 | 版本 |
---|---|
cuda主程序 : | cuda_9.2.148_396.37_linux.run |
cuda补丁 : | cuda_9.2.148.1_linux.run |
cudnn : | libcudnn7_7.5.0.56-1+cuda9.2_amd64.deb |
cudnn-dev : | libcudnn7-dev_7.5.0.56-1+cuda9.2_amd64.deb |
3.2 CUDA9.2 的安装
在下载文件夹中打开终端,输入命令:
1 :~$ sudo sh cuda_9.2.148_396.37_linux.run # cuda主程序安装命令
2 :~$ sudo sh cuda_9.2.148.1_linux.run # cuda补丁安装命令
由于CUDA不支持ubuntu18.04系统,多了一项:是否在不支持的设备上安装:y
再次强调,驱动选no:
# 一直回车到许可结束
许可:accept
是否在不支持的设备上安装:y
驱动:n # 驱动这里注意不要在装了
安装CUDA Toolkit:y
安装位置:/home/tian/myapps/cuda-9.2 # 需要事先建好cuda-9.2文件夹,默认/usr/local/cuda-9.2
软连接:y # 是否建立软连接,选择是
安装CUDA Samples:n # 样例选择不安装
安装补丁:
# 一直回车到许可结束(真长啊)
许可:accept
是否在不支持的设备上安装:y
安装CUDA Toolkit:y
安装位置:/home/tian/myapps/cuda-9.2 # 和主程序的位置一致即可
验证:
:~$ nvcc -V
>> # 输出对应版本即可
3.3 cuDNN安装
注意顺序
:~$ sudo dpkg -i libcudnn7_7.5.0.56-1+cuda9.2_amd64.deb
:~$ sudo dpkg -i libcudnn7-dev_7.5.0.56-1+cuda9.2_amd64.deb
三、附
cuda和cudnn卸载:
:~$ sudo /usr/local/cuda-10.0/bin/uninstall_cuda_10.0.pl # 卸载CUDA
:~$ sudo rm -rf /usr/local/cuda-10.0/ # 删除其中的cuDNN文件