Linux(Ubuntu20.4)系统安装nvidia450驱动+pytorch1.8.1+cuda10.2+cudnn7.6.5教程详解

注意: 本服务器系统版本为ubuntu20.4
其他版本过程也类似!

一、Nvidia450驱动程序安装

首先查看显卡支持的驱动版本:
命令行输入:ubuntu-drivers devices
如图:
Linux(Ubuntu20.4)系统安装nvidia450驱动+pytorch1.8.1+cuda10.2+cudnn7.6.5教程详解_第1张图片
最新的可以支持460版本的,但是太新了,可能会出现版本不兼容的问题,这里建议安装450版本的。
注意:如果以前安装的有nvidia的驱动,如果更新的话,就先卸载再进行安装:
执行下面的命令:先删除再重启服务器系统。

命令行输入:

sudo apt-get autoremove --purge nvidia-*
sudo reboot

如果没有卸载成功就用下面的命令卸载:

sudo apt-get --purge remove nvidia*
sudo apt-get --purge remove "*nvidia*"
sudo apt-get --purge remove "*cublas*" "cuda*"
sudo apt autoremove
sudo reboot

输入之后就能发现nvidia-smi命令不可以使用了,证明显卡驱动卸载成功!

安装nvidia450驱动:
命令行输入:

sudo apt install nvidia-driver-450
sudo reboot

安装完成后需要重新启动系统才能生效,重启系统后通过 nvidia-smi 命令可以查看有没有应用在使用NAVIDIA显卡驱动,如果存在这样的应用则表示安装成功。
Linux(Ubuntu20.4)系统安装nvidia450驱动+pytorch1.8.1+cuda10.2+cudnn7.6.5教程详解_第2张图片

二、Pytorch1.8.1安装

首先进入这个网址:pytorch安装pytorch。
如图选择,先进行相应版本的选择,然后在命令行里输入下面的命令就行了,。
如果是在服务器上配置环境且服务器还有其他人使用,建议直接在自己创建的虚拟环境中进行安装,这样避免在base环境下影响他人使用!
Linux(Ubuntu20.4)系统安装nvidia450驱动+pytorch1.8.1+cuda10.2+cudnn7.6.5教程详解_第3张图片
静静等待安装完成,pytorch1.8.1就安装成功了,之后可以输入命令conda list查看安装结果。
Linux(Ubuntu20.4)系统安装nvidia450驱动+pytorch1.8.1+cuda10.2+cudnn7.6.5教程详解_第4张图片
进行测试:
命令行输入python,进入python环境,输入下面的python语句:

import torch
torch.rand(5,3)
torch.cuda.is_available()

结果如图:
Linux(Ubuntu20.4)系统安装nvidia450驱动+pytorch1.8.1+cuda10.2+cudnn7.6.5教程详解_第5张图片
输出如上图,证明pytorch安装成功。并且说明cuda可用。

三、Cuda10.2安装

1、命令行输入nvidia-smi命令,查看最高支持的cuda版本,如下图:
Linux(Ubuntu20.4)系统安装nvidia450驱动+pytorch1.8.1+cuda10.2+cudnn7.6.5教程详解_第6张图片
图中可以看出,nvidia显卡驱动版本为450.119.03,支持的最高cuda版本为11.0,所以安装的cuda版本应该低于11.0。

如果系统中已经安装了cuda,但是不适配(版本对应关系在下面图中给出),请先卸载再进行安装:
卸载命令如下:
注意:把下边的xx.x替换为自己的cuda版本

cuda10.0及以下的卸载:

cd /usr/local/cuda-xx.x/bin/
sudo ./uninstall_cuda_xx.x.pl
sudo rm -rf /usr/local/cuda-xx.x

cuda10.1及以上的卸载:

cd /usr/local/cuda-xx.x/bin/
sudo ./cuda-uninstaller
sudo rm -rf /usr/local/cuda-xx.x

注意:最后边加了一句sudo rm -rf /usr/local/cuda-xx.x,这是因为一般情况下cuda都配置了cudnn,在运行卸载程序时只会卸载cuda而不会一并删除cudnn的文件。因为cudnn文件还在,所以自己的cuda-xx.x文件夹也仍然存在,需要手动删除。
如果自己要卸载的cuda没有配置cudnn,那么cuda-xx.x文件夹在卸载完成后会被自动删除,也就没必要再运行最后一句了。
卸载成功之后输入nvcc -V查看,如果命令不可用,就证明卸载成功了!

2、下载cuda
首先查看nvidia450和cuda的版本对应关系如图(部分):
Linux(Ubuntu20.4)系统安装nvidia450驱动+pytorch1.8.1+cuda10.2+cudnn7.6.5教程详解_第7张图片
注意:驱动是向下兼容的,其决定了可安装的CUDA和CUDAToolkit的最高版本。
官网下载对应系统的cuda版本:链接:cuda下载的官方网址
如图选择:
Linux(Ubuntu20.4)系统安装nvidia450驱动+pytorch1.8.1+cuda10.2+cudnn7.6.5教程详解_第8张图片
在命令行中输入下面的命令即可:

wget https://developer.download.nvidia.com/compute/cuda/10.2/Prod/local_installers/cuda_10.2.89_440.33.01_linux.run

等待下载成功就行,同时记住下载的路径。

3、安装之前先进行gcc降级:
上面的过程中,显卡驱动依赖gcc9,而cuda10.2则依赖gcc7,需要在此处对gcc进行降级操作。命令行输入:sudo apt-get install gcc-7 g++-7
此处系统中存在两个gcc,分别是9和7,此时默认为9,这里需要将默认gcc改为gcc7。

sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-7 9
sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-9 1
sudo update-alternatives --display gcc
sudo update-alternatives --install /usr/bin/g++ g++ /usr/bin/g++-7 9
sudo update-alternatives --install /usr/bin/g++ g++ /usr/bin/g++-9 1
sudo update-alternatives --display g++

可以修改并查看不同版本的gcc和g++的优先级。
sudo update-alternatives --config gcc命令查看gcc的默认版本,可以看到当前默认gcc版本为7,即切换成功。
Linux(Ubuntu20.4)系统安装nvidia450驱动+pytorch1.8.1+cuda10.2+cudnn7.6.5教程详解_第9张图片
如图所示就是降级成功了!
4、安装cuda10.2
输入命令进行安装:

sudo sh cuda_10.2.89_440.33.01_linux.run

会出现如下界面:
点continue:
Linux(Ubuntu20.4)系统安装nvidia450驱动+pytorch1.8.1+cuda10.2+cudnn7.6.5教程详解_第10张图片
输入accept,点确定。
Linux(Ubuntu20.4)系统安装nvidia450驱动+pytorch1.8.1+cuda10.2+cudnn7.6.5教程详解_第11张图片
这里选中Driver按enter键,将此项取消,这是cuda安装程序里自带的驱动,因为我们已经装过nvidia450版本的驱动了,就不需要再安装nvidia440了,否则会有冲突。
Linux(Ubuntu20.4)系统安装nvidia450驱动+pytorch1.8.1+cuda10.2+cudnn7.6.5教程详解_第12张图片
之后选择install等待就可以了!
5、安装成功之后进行环境变量的配置:
输入gedit ~/.bashrc命令打开文件,在文件结尾输入以下语句,保存。

export PATH="/usr/local/cuda-10.2/bin:$PATH"
export LD_LIBRARY_PATH="/usr/lcoal/cuda-10.2/lib64:$LD_LIBRARY_PATH"

如图所示:
在这里插入图片描述
之后终端输入source ~/.bashrc更新环境变量,让其生效,可以将10.2修改成自己下载的版本,验证本机的cuda版本,输入nvcc -V,可以看出当前安装cuda版本是10.2。
在这里插入图片描述
cuda10.2就安装成功了!

四、Cudnn7.6.5安装

首先给出查看cuda和cudnn版本的命令:

cat /usr/local/cuda/version.txt
cat /usr/local/cuda/include/cudnn.h | grep CUDNN_MAJOR -A 2

如图,已经安装好的版本号查看就是这样子。
Linux(Ubuntu20.4)系统安装nvidia450驱动+pytorch1.8.1+cuda10.2+cudnn7.6.5教程详解_第13张图片
安装cudnn之前,要先确定cuda和cudnn对应的版本关系,如果安装的版本不对的话,使用会出错!
版本对应关系如图(部分):
Linux(Ubuntu20.4)系统安装nvidia450驱动+pytorch1.8.1+cuda10.2+cudnn7.6.5教程详解_第14张图片
如果版本不对应,要删除之前安装的cudnn,再进行安装。
命令行进行删除:

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

首先进入Cudnn的下载界面:
下载地址:cudnn官方下载地址
如果没有账号的话,需要注册,登录才可以下载。然后如下图,选择合适的CUDA版本对应的CUDNN,并选择CUDNN Library for Linux。这里注意,推荐的是CUDNN8.0.2,其实,7.6.5更加适合,因为7.6.5版本更稳定。可以点开Archived菜单查找对应的7.6.5版本。
Linux(Ubuntu20.4)系统安装nvidia450驱动+pytorch1.8.1+cuda10.2+cudnn7.6.5教程详解_第15张图片
点击Archived cudnn Releases
找到对应的cudnn v7.6.5 for CUDA 10.2下载就行。
Linux(Ubuntu20.4)系统安装nvidia450驱动+pytorch1.8.1+cuda10.2+cudnn7.6.5教程详解_第16张图片
将下载的安装包解压,之后进行文件的复制操作:
下载解压之后,将cuda/include/cudnn.h文件复制到usr/local/cuda/include文件夹,将cuda/lib64/下所有文件复制到/usr/local/cuda/lib64文件夹中,并添加读取权限:

注意:这里可能会碰到复制粘贴文件的时候出现权限不够的问题,需要命令行进行权限的更改如下:
1 pwd查看硬盘的位置------就是自己没有权限的文件夹目录
2 sudo chmod 777 刚才查到的目录位置------更改权限

pwd
sudo chmod 777 /usr/local/cuda/include/
pwd
sudo chmod 777  /usr/local/cuda/lib64/

更改完成之后,就能进行文件的复制粘贴操作了。
此时再进行下面的命令:

sudo chmod a+r /usr/local/cuda/include/cudnn.h 
sudo chmod a+r /usr/local/cuda/lib64/libcudnn*

安装完成后,可以通过命令查看自己的cudnn版本

cat /usr/local/cuda/include/cudnn.h | grep CUDNN_MAJOR -A 2

版本号如下图所示:
Linux(Ubuntu20.4)系统安装nvidia450驱动+pytorch1.8.1+cuda10.2+cudnn7.6.5教程详解_第17张图片
这样,cudnn7.6.5就安装成功了!
最后一步,sudo reboot 重启系统,就行了!
此时,系统的配置大约如下:
Ubuntu20.4+NVIDIA 450+pytorch1.8.1+cuda10.2+cudnn7.6.5,之后就可以在服务器上利用GPU训练深度学习模型了!

最后总结一些常见的命令:

1、获取有关图形卡和可用驱动程序的信息:ubuntu-drivers devices
2、自动安装驱动:ubuntu-drivers autoinstall
3、查看自己的ubuntu版本:cat /proc/versionlsb_release -a
4、查看自己的nvidia版本:nvidia-smi
5、查看cuda版本:cat /usr/local/cuda/version.txt 或者nvcc -V
6、查看cudnn版本:cat /usr/local/cuda/include/cudnn.h | grep CUDNN_MAJOR -A 2

Anaconda创建、删除、激活、退出环境的命令
先安装anaconda,才可以用下面的conda命令

7、Anaconda创建环境:conda create -n py38(环境名) python=3.8(指定的python版本)
8、删除环境(不要乱删):conda remove -n py38 --all
9、进入环境:conda activate py38
10、退出环境:conda deactivate

你可能感兴趣的:(linux,ubuntu,cuda,cudnn,nvidia)