说明:
本人的实验环境为:ubuntu20.04, 显卡:GTX1060, 已安装Nvidia驱动
-
查看你的NVIDIA显卡驱动是否支持cuda10.1版本。
查看显卡驱动命令:nvidia-smi
CUDA Version: 这里的版本号大于等于10.1,就可以安装cuda10.1。 -
为什么安装 cuda10.1
本人主要用于深度学习,而目前主流的深度学习框架为Tensorflow和Pytorch, 比较下来感觉10.1还是挺适合的版本- CUDA与显卡驱动的对应关系:https://docs.nvidia.com/cuda/cuda-toolkit-release-notes/index.html
- CUDA与Tensorflow(GPU)的对应关系:https://tensorflow.google.cn/install/source_windows?hl=en#gpu
注意: cuda10.2目前不支持任何版本的Tensorflow-GPU版本
- CUDA与PyTorch(GPU)的对应关系:(需要自己按需求去找):https://pytorch.org/get-started/previous-versions/
表二:CUDA Toolkit版本及可用PyTorch对应关系 CUDAToolkit版本 可用PyTorch版本 7.5 0.4.1 ,0.3.0, 0.2.0,0.1.12-0.1.6 8.0 1.1.0,1.0.0 ,0.4.1 9.0 1.1.0,1.0.1, 1.0.0,0.4.1 9.2 1.7.1,1.7.0,1.6.0,1.5.1,1.5.0,1.4.0,1.2.0,0.4.1 10.0 1.2.0,1.1.0,1.0.1 ,1.0.0 10.1 1.8.x,1.7.1,1.7.0,1.6.0,1.5.1,1.5.0, 1.4.0,1.3.0 10.2 1.11.0,1.9.0,1.8.1,1.8.0,1.7.1,1.7.0,1.6.0,1.5.1,1.5.0 11.0 1.7.1,1.7.0 11.1 1.10.x, 1.9.x,1.8.x 11.3 1.11.x,1.10.x,1.9.x,1.8.1 11.5 1.11.x - CUDA与“pytorch-geometric”对应关系(玩图神经网络时需要)
以torch1.7.0为例,参考:https://pytorch-geometric.com/whl/torch-1.7.0.html
step1:GCC降级
- Ubuntu20.04自带的GCC是9.3.0版本的,而cuda 10.1要求GCC版本为gcc-7
# 查看当前GCC和g++的版本 gcc --version g++ --version #安装gcc-7 sudo apt-get install gcc-7 g++-7
- 安装完之后,系统中会存在两个或以上的gcc,因此需要设置一下gcc优先级。
可以看到这里有多个版本#查看gcc版本 ls /usr/bin/gcc*
- 进行gcc和g++版本的切换
#进行gcc版本的切换 sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-7 2 sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-9 1 #后面的数字为优先级,数字越大优先级越高 #查看设置的优先级 sudo update-alternatives --config gcc #或者 sudo update-alternatives --display gcc #同理g++也需要设置 sudo update-alternatives --install /usr/bin/g++ g++ /usr/bin/g++-7 2 sudo update-alternatives --install /usr/bin/g++ g++ /usr/bin/g++-9 1 #显示g++优先级 sudo update-alternatives --display g++ #最后确保成功查看一下gcc版本 gcc -v
- 看到这里gcc版本已经是7.5.0代表成功。
step2:安装CUDA
去官网下载CUDA: https://developer.nvidia.com/cuda-10.1-download-archive-base
选择18.04是因为nvidia官网没有ubuntu20的选项,cuda官方支持的系统最高到Ubuntu18
- 进入到你下好的文件夹内,打开终端:
sudo sh cuda_10.1.105_418.39_linux.run
如果中途报错信息为:Installation failed. See log at /var/log/cuda-installer.log for details.
将指令改为sudo sh cuda_10.1.243_418.87.00_linux.run --librarypath=/usr/local/cuda-10.1
,重新运行。操作和上面的相同。 - 当安装界面启动,选择continue。
- 然后输入accept,回车。
- CUDA安装包是自带显卡驱动的,由于你已经有了NVIDIA显卡驱动,如果不想安装CUDA 10.1中附带的驱动,移动到Driver选项上,按空格键将该项取消。然后,移动到Install选项,回车,等待安装完成。
- 等待安装完成
查看你的目录:ls /usr/local
, 会多出来两个文件夹,cuda和cuda-10.1, 且cuda是cuda-10.1的一个软连接
- 配置CUDA的环境变量
CUDA安装完成后,需要配置变量环境才能正常使用。首先在终端输入sudo gedit ~/.bashrc
打开如下图所示的.bashrc文件。
注意:上面的CUDA环境变量配置方法有很多,本文的配置方法中的cuda不要指定具体的版本,主要是为了电脑中多个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 # 或者 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
最后,在终端输入source ~/.bashrc
或者重新启终端使之生效。 - 查看是否安装好
这时,我们就可以在终端输入nvcc -V
查看CUDA的安装信息,如下图所示,至此CUDA安装成功。
或者:cat /usr/local/cuda/version.txt
# 查看cuda版本号
step3:安装cudnn
-
下载
先去官网下载对应的CUDNN7.6.5,如果没有账号注册一下。 -
对下载的
cudnn-10.1-linux-x64-v7.6.5.32.tgz
进行解压操作,得到一个文件夹cuda,命令为:tar zxvf ./cudnn-10.1-linux-x64-v7.6.5.32.tgz -C ./
-
输入下面命令
#建议先获取root权限 sudo su #输入密码 #之后输入以下命令,可以带sudo也可以不带 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 /usr/local/cuda/lib64/libcudnn* #最后输入下面命令,看看是否安装成功 cat /usr/local/cuda/include/cudnn.h | grep CUDNN_MAJOR -A 2
-
查看cudnn版本号:
cat /usr/local/cuda/include/cudnn.h | grep CUDNN_MAJOR -A 2
按照结果顺序读取出版本号(如果没有,那么可能没有安装 cuDNN)
参考博客:
- ubuntu 20.04安装CUDA10.1及CUDNN7.65: https://zhuanlan.zhihu.com/p/487941231
- Ubuntu20.04安装cuda10.1: https://blog.csdn.net/wwlswj/article/details/106364094
- Ubuntu20.04下CUDA、cuDNN的详细安装与配置过程(图文):https://blog.csdn.net/weixin_37926734/article/details/123033286