准备工作:确定要安装的cuda和cudnn版本
-
输入命令
nvidia-settings
可以查询安装的NVIDIA驱动版本:[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-MUc9elpR-1670060431576)(https://pictures-1258408207.cos.ap-nanjing.myqcloud.com/cuda%E5%92%8Ccudnn%E5%AE%89%E8%A3%85/nvidia_driver.png)]
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-8CR4IZpw-1670060431579)(https://pictures-1258408207.cos.ap-nanjing.myqcloud.com/cuda%E5%92%8Ccudnn%E5%AE%89%E8%A3%85/cuda_driver_version.png)]
-
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-xcNYo7IC-1670060431580)(https://pictures-1258408207.cos.ap-nanjing.myqcloud.com/cuda%E5%92%8Ccudnn%E5%AE%89%E8%A3%85/cuda_tensorflowGPU_version.png)]
-
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-mmfidAgu-1670060431581)(https://pictures-1258408207.cos.ap-nanjing.myqcloud.com/cuda%E5%92%8Ccudnn%E5%AE%89%E8%A3%85/cuda_Pytorch_version.png)]
在此,笔者选择cuda1.0的版本,(不要选择很高的版本,容易出现其他包版本不支持的问题)
1. gcc和g++版本降级
-
查询当前系统的gcc和g++版本:
gcc --version
、g++ --version
,cuda10.1要求gcc版本为gcc-7,g++版本为g++ --7而ubuntu20.04默认安装的版本为gcc-9.3,故需要再安装一下7.0的版本:
sudo apt-get install gcc-7, g++-7
此时执行命令
ls /usr/bin/gcc*
,可以看到有多个gcc版本[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-EJ8HKq26-1670060431581)(https://pictures-1258408207.cos.ap-nanjing.myqcloud.com/cuda%E5%92%8Ccudnn%E5%AE%89%E8%A3%85/gccEdition.png)]
-
切换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
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-5YNojYKG-1670060431582)(https://pictures-1258408207.cos.ap-nanjing.myqcloud.com/cuda%E5%92%8Ccudnn%E5%AE%89%E8%A3%85/gccVersion.png)]
此处打印gcc版本为7.5.0,表明切换成功
2. 安装cuda
-
官网下载对应的cuda版本
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-fI3PziCG-1670060431583)(https://pictures-1258408207.cos.ap-nanjing.myqcloud.com/cuda%E5%92%8Ccudnn%E5%AE%89%E8%A3%85/cudaDowmload.png)]
-
进入到你下好的文件夹内,打开终端: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选项,回车,等待安装完成。
-
配置环境变量:
sudo gedit ~/.bashrc
,在文件的最后加上以下内容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安装成功:[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-H2wfRDl5-1670060431583)(https://pictures-1258408207.cos.ap-nanjing.myqcloud.com/cuda%E5%92%8Ccudnn%E5%AE%89%E8%A3%85/nvcc-V.png)]
3. 安装cudnn
-
去官网下载对应版本的cudnn(笔者安装的版本为765,有NVIDIA账号就注册一个)
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-aH5cVGMU-1670060431584)(https://pictures-1258408207.cos.ap-nanjing.myqcloud.com/cuda%E5%92%8Ccudnn%E5%AE%89%E8%A3%85/cudnnDownload.png)]
此处笔者下载的是cuDNN Library for Linux
-
解压下载的压缩包:
tar zxvf ./cudnn-10.1-linux-x64-v7.6.5.32.tgz -C ./
-
将以下文件拷贝到cuda相应的目录下
#输入密码 #之后输入以下命令,可以带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
-
cat /usr/local/cuda/include/cudnn.h | grep CUDNN_MAJOR -A 2
,若能出现版本号,则说明安装成功:[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-CZOakkc8-1670060431585)(https://pictures-1258408207.cos.ap-nanjing.myqcloud.com/cuda%E5%92%8Ccudnn%E5%AE%89%E8%A3%85/cudnnVersion.png)]