ubuntu 显卡驱动、Cuda、Cudnn、Pytorch安装教程

文章目录

  • 一:INVIDA显卡驱动安装
        • 【步骤一】查看系统推荐显卡驱动版本
        • 【步骤二】添加源
        • 【步骤三】进入“软件和更新”中进行显卡安装
        • 【步骤四】重启电脑
        • 【步骤五】查看驱动版本
  • 二:Cuda安装
        • 【步骤一】官网下载
        • 【步骤二】运行文件
        • 【步骤三】按照提示安装
        • 【步骤四】环境配置
        • 【步骤五】测试
  • 三:Cudnn安装
        • 【步骤一】下载安装包
  • 四:Pytorch安装

一:INVIDA显卡驱动安装

【步骤一】查看系统推荐显卡驱动版本

sudo ubuntu-drivers devices

优先选择带recommended的版本(后面实验证明推荐的往往是高版本的驱动,它对于一些cuda版本兼容不太友好,建议下载低版本的)

【步骤二】添加源

sudo add-apt-repository ppa:graphics-drivers/ppa
sudo apt-get update

【步骤三】进入“软件和更新”中进行显卡安装

ubuntu 显卡驱动、Cuda、Cudnn、Pytorch安装教程_第1张图片

上图中可见,有系统推荐的515选项,但是后面发现和11.1的cuda不兼容,所以换为了470。(切忌不要选server的,那是服务器版本。)

【步骤四】重启电脑

sudo reboot

【步骤五】查看驱动版本

nvidia-smi

ubuntu 显卡驱动、Cuda、Cudnn、Pytorch安装教程_第2张图片
可见我安装的是470驱动,并且推荐的CUDA是11.4。

二:Cuda安装

【步骤一】官网下载

cuda官网下载runfile文件

【步骤二】运行文件

sudo sh cuda_11.1.74_470.82.01_linux.run --override

切记!!一定要加sudo权限,不然会报错。并且加上–override,忽略GCC版本不兼容问题。(不加 --override也可以先执行sudo apt install build-essential代替)

【步骤三】按照提示安装

分别选择 continue -> accept -> install,其中有个细节!!!!因为我们已经有了显卡驱动,所以需要将第一行选项变为下图的空选,按下Enter即可切换状态。最后选择install即可完成安装。

ubuntu 显卡驱动、Cuda、Cudnn、Pytorch安装教程_第3张图片

【步骤四】环境配置

sudo gedit ~/.bashrc

在文本末添加如下信息:

#export LD_LIBRARY_PATH=/usr/local/cuda/lib64:/usr/local/cuda/extras/CPUTI/lib64
#export CUDA_HOME=/usr/local/cuda
#export PATH=$PATH:$LD_LIBRARY_PATH:$CUDA_HOME

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

注意:想要修改指向的cuda版本,进行如下操作,修改软链接即可:

cd /usr/local
ll
sudo ln -snf /usr/local/cuda-11.1 /usr/local/cuda #删除旧指向软链接并创建新软链接

【步骤五】测试

验证cuda安装是否成功,如下图所示,显示已安装了11.1版本的cuda:

source ~/.bashrc
nvcc -V

ubuntu 显卡驱动、Cuda、Cudnn、Pytorch安装教程_第4张图片

注意!!!如果发现nvcc显示的版本和自己装的不一样,进行下面的操作:

终端输入
which nvcc

返回
/usr/bin/nvcc
终端查看系统默认调⽤的nvcc命令的位置,
 cat /usr/bin/nvcc

返回
exec /usr/lib/nvidia-cuda-toolkit/bin/nvcc
这是指向了系统默认的nvidia-cuda-toolkit位置,将其更改为刚安装的cuda:

终端输入
 sudo  gedit /usr/bin/nvcc

在文本中将exec /usr/lib/nvidia-cuda-toolkit/bin/nvcc改为
exec /usr/local/cuda/bin/nvcc "$@"
保存更改后,nvcc -V命令得到CUDA最新版本。

最后验证cuda是否正常,出现下图说明测试成功:

cd ~/NVIDIA_CUDA-11.1_Samples/1_Utilities/bandwidthTest/
make
./bandwidthTest 

ubuntu 显卡驱动、Cuda、Cudnn、Pytorch安装教程_第5张图片

三:Cudnn安装

【步骤一】下载安装包

到Cudnn下载页面下载与驱动、Cuda、需要运行软件要求相应的版本(需要注册Nvidia账号)。

Ubuntu可以下载.solitairetheme8格式文件,只要将扩展名改为tgz即可解压

tar -xvf cudnn-8.0-linux-x64-v7.6.5.32.tgz

得到名为cuda的文件夹,在当前目录(不要进入cuda)运行:

version < 8.0:

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*

输入cat /usr/local/cuda/include/cudnn.h | grep CUDNN_MAJOR -A 2可查看版本

version >= 8.0:

sudo cp cuda/include/* /usr/local/cuda/include/
sudo cp cuda/lib64/* /usr/local/cuda/lib64/
sudo chmod +x /usr/local/cuda/include/cudnn.h
sudo chmod +x /usr/local/cuda/lib64/libcudnn*

输入cat /usr/local/cuda/include/cudnn_version.h | grep CUDNN_MAJOR -A 2可以查看版本

注意:切换cudnn版本操作如下:

sudo rm -rf /usr/local/cuda/include/cudnn.h
sudo rm -rf /usr/local/cuda/lib64/libcudnn*

sudo cp cuda/include/cudnn.h /usr/local/cuda/include/
sudo cp cuda/lib64/libcudnn* /usr/local/cuda/lib64/
#sudo cp lib64/lib* /usr/local/cuda/lib64/
sudo chmod +x /usr/local/cuda/include/cudnn.h
sudo chmod +x /usr/local/cuda/lib64/libcudnn*

cd /usr/local/cuda/lib64/
sudo chmod +r libcudnn.so.8.2.0
sudo ln -sf libcudnn.so.8.2.0 libcudnn.so.8
sudo ln -sf libcudnn.so.8 libcudnn.so
sudo ldconfig
#然后会报错,对报错文件执行下面操作即可
sudo mv /usr/local/cuda-11.3/targets/x86_64-linux/lib/libcudnn_cnn_train.so.8 /usr/local/cuda-11.3/targets/x86_64-linux/lib/libcudnn_cnn_train.so.8.org

sudo ldconfig #不再报错

cat /usr/local/cuda/include/cudnn_version.h | grep CUDNN_MAJOR -A 2
#报错,查找不到该文件
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*

成功切换!!!
ubuntu 显卡驱动、Cuda、Cudnn、Pytorch安装教程_第6张图片

四:Pytorch安装

登陆pytorch官网,选择对应版本的pip下载,复制下方代码运行即可!

大功告成!!!

你可能感兴趣的:(linux,ubuntu,pytorch,linux)