Ubuntu20 安装cuda11.2 cudnn8.1 paddle2.3

@[TOC]安装笔记

cuda

卸载cuda

一般情况下,cuda都会安装在 /usr/local/ 这个目录上,可以用下面的代码卸载`

cd /usr/local/
ls   #到达local目录后查看cuda安装的文件夹
cd cuda-11.2/bin  #假设cuda的文件夹为cuda-11.2
sudo ./cuda-uninstaller  #执行bin目录的cuda卸载文件

这样就可以卸载cuda

安装cuda

cuda的安装比较简单

1.找到想要安装的版本,然后根据官网提供的命令行安装即可
cuda
Ubuntu20 安装cuda11.2 cudnn8.1 paddle2.3_第1张图片
Ubuntu20 安装cuda11.2 cudnn8.1 paddle2.3_第2张图片

wget https://developer.download.nvidia.com/compute/cuda/11.2.0/local_installers/cuda_11.2.0_460.27.04_linux.run
sudo sh cuda_11.2.0_460.27.04_linux.run

如果‘sudo sh cuda_11.2.0_460.27.04_linux.run ’遇到报错CUDA GCC版本不兼容
可以通过添加‘–override’解决

sudo sh cuda_11.2.0_460.27.04_linux.run --override

配置环境变量:

sudo vim ~/.bashrc # 修改home目录下的.bashrc文件,只针对当前用户
# 末尾写入
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/cuda-11.2/lib64
export PATH=$PATH:/usr/local/cuda-11.2/bin
export CUDA_HOME=$CUDA_HOME:/usr/local/cuda-11.2

使修改生效

source ~/.bashrc

安装结束后,可以通过下面命令能查看cuda版本信息则安装成功

nvcc -V #-V的V是大写

我遇到的问题

nvcc -V 和 nvidia-smi显示的版本不一致

一般情况下,driver API 和runtime API 版本不相同,但是drive API 版本需要高于runtime API(driver API version > runtime API version)。nvidia-smi显示的是driver API ,而nvcc -V显示的是runtime API 。其中runtime API 的版本需要考虑到和cudnn和paddle适配。

安装了新的cuda后nvcc -V依然显示旧版本

在这里插入图片描述
我的原因是用这个命令行sudo apt install nvidia-cuda-toolkit安装了旧的cuda。导致不管怎么安装新版本,都不显示。
解决办法是:
1.执行sudo apt-get remove nvidia-*卸载原驱动。
2.这时候nvcc -V就会显示上方的图片的错误。
3.然后按照安装cuda的步骤安装后再nvcc -V就可以显示安装的cuda版本信息。

所以,不要用sudo apt install nvidia-cuda-toolkit,具体原因后续再了解。

cudnn

cudnn安装

上官网直接下载是需要注册会员的。
cudnn
但是!!!可以复制下载链接然后通过迅雷下载!!!
Ubuntu20 安装cuda11.2 cudnn8.1 paddle2.3_第3张图片
cudnn的版本需要适配cuda的runtime API 版本。我安装的是cuda11.2,所以选了cudnn8.1.1。根据官网的指导,tar安装包可以再所有linux环境下安装,Deb安装包可以在ubuntu环境下安装。
建议使用tar 安装包(cuDNN Library for Linux[x86_64]),因为方便!!!
官方教程:cudnn官网教程
教程是最全的。我简单复述一下tar安装过程

1. cd <cudnnpath>   #进入cudnn下载目录
2. tar -xvf cudnn-linux-x86_64-8.x.x.x_cudaX.Y-archive.tar.xz  
# 解压文件包,解压后我的得到cuda文件夹,cuda下有lib和include两个子文件夹
3.
sudo cp include/cudnn*.h /usr/local/cuda/include 
sudo cp -P lib/libcudnn* /usr/local/cuda/lib64 
#将include和lib下的文件复制到cuda的安装目录
4.
sudo chmod a+r /usr/local/cuda/include/cudnn*.h /usr/local/cuda/lib64/libcudnn*

不出意外的话,cudnn应该就算装好了。

paddle

安装paddle

paddle官网安装教程
官网给的比较详细了,我安装的是gpu版本,只要cuda和cudnn安装好了,基本没什么问题。我的paddle-gpu没运行起来都是cuda和cudnn的锅。
Ubuntu20 安装cuda11.2 cudnn8.1 paddle2.3_第4张图片
根据自己的环境选择,然后根据下面的命令行安装就可以了。没有gpu的机子选择cpu版本安装。

验证安装paddle

进入python解释器

import paddle
paddle.utils.run_check()

如果出现PaddlePaddle is installed successfully!则安装成功

卸载paddle

python -m pip uninstall paddlepaddle-gpu

toch

按照上述流程安装好cuda+cudnn后,想用GPU跑神经网络,有时候会报错:CUDA error: no kernel image is available for execution on the device。
有可能是torch的版本问题,我的环境是nvidia3060,cuda11.2,cudnn8.1.1。根据torch官网以下命令安装好后,顺利运行。

pip3 install torch==1.8.1+cu111 torchvision==0.9.1+cu111 torchaudio==0.8.1 -f https://download.pytorch.org/whl/torch_stable.html

但是看过一些教程,环境类似的情况下上面的torch版本不能执行。cuda error解决办法

你可能感兴趣的:(python,应用,神经网络,深度学习,paddlepaddle,python,linux)