Ubuntu20.04系统,3090显卡,安装驱动、CUDA、cuDNN的步骤

1. 下载驱动

NVDIA driver search page搜索你的显卡需要的驱动型号并下载(如图)。Ubuntu20.04系统,3090显卡,安装驱动、CUDA、cuDNN的步骤_第1张图片

搜索,然后download

Ubuntu20.04系统,3090显卡,安装驱动、CUDA、cuDNN的步骤_第2张图片

 

2. 禁用nouveau

打开终端,输入:

sudo gedit /etc/modprobe.d/blacklist.conf 

在blacklist.conf文件末尾加上这两行,并保存:

blacklist nouveau

然后执行命令:

sudo update-initramfs -u  //应用更改

重启电脑,验证是否禁用nouveau,这一条是用来禁用nouveau驱动,之后也不需要改回来。:

lsmod | grep nouveau

没有信息返回说明已禁用了如图:

img

 

3. 安装NVIDIA驱动

打开terminal卸载旧版本NVIDIA驱动:

sudo apt-get remove --purge nvidia*

进入到下载好的.run文件夹下给驱动run文件赋予执行权限:

sudo chmod  a+x NVIDIA-Linux-x86_64-460.84.run //对应自己下载的驱动名称

安装NVIDIA驱动

sudo ./NVIDIA-Linux-x86_64-460.84.run -no-x-check -no-nouveau-check -no-opengl-files
// 注意:后面三个选项的前面都是:减号“-”
  • -no-x-check:安装驱动时关闭X服务
  • -no-nouveau-check:安装驱动时禁用nouveau
  • -no-opengl-files:只安装驱动文件,不安装OpenGL文件 (最重要)

安装过程中的选项:

The distribution-provided pre-install script failed! Are you sure you want to continue? 选择 yes 继续。


Would you like to register the kernel module souces with DKMS? This will allow DKMS to automatically build a new module, if you install a different kernel later?  选择 No 继续。


问题没记住,选项是:install without signing


问题大概是:Nvidia's 32-bit compatibility libraries? 选择 No 继续。


Would you like to run the nvidia-xconfigutility to automatically update your x configuration so that the NVIDIA x driver will be used when you restart x? Any pre-existing x confile will be backed up.  选择 Yes

这些选项如果选择错误可能会导致安装失败,没关系,只要前面不出错,多尝试几次就好。

查看NVIDIA版本检验是否安装完成

Ubuntu20.04系统,3090显卡,安装驱动、CUDA、cuDNN的步骤_第3张图片

 

 

二、安装CUDA

1. 下载

官方网站下载符合自己电脑的cuda版本,选择好相应的版本后按照下面提供的方式进行安装。

最后一项Installer Type建议选择runfile [local],因为命令行少,更方便。

Ubuntu20.04系统,3090显卡,安装驱动、CUDA、cuDNN的步骤_第4张图片

以这个图为例,就是先下载cuda_11.4.0_470.42.01_linux.run这个文件(可以直接把链接放到浏览器去下载)。

 

2. 安装

下载之后,运行如下命令

sudo sh cuda_11.4.0_470.42.01_linux.run

Ubuntu20.04系统,3090显卡,安装驱动、CUDA、cuDNN的步骤_第5张图片

输入accept回车

Ubuntu20.04系统,3090显卡,安装驱动、CUDA、cuDNN的步骤_第6张图片

这个地方不要下载Driver,因为之前已经安装完了,一定要选择CUDA Toolkit 10.2。

取消选择的方法是:光标停留在Driver那一行上,然后回车,使[]里的X消失

选择Install回车

Ubuntu20.04系统,3090显卡,安装驱动、CUDA、cuDNN的步骤_第7张图片

看到这页面估计是安装完了,输入以下命令验证是否成功:

cat /usr/local/cuda/version.txt

img

如果显示没有这个文件,就到该文件夹下去看看有没有一个version.txt,里面如果有version.json,且json中有版本信息,也可以。

接下来设置环境变量

gedit ~/.bashrc

加入如下环境变量(注意修改为自己的路径):

export PATH=/usr/local/cuda-11.4/bin${PATH:+:${PATH}}
export LD_LIBRARY_PATH=/usr/local/cuda-11.4/lib64${LD_LIBRARY_PATH:+:${LD_LIBRARY_PATH}}

保存退出,终端运行:

source ~/.bashrc

终端运行:

nvcc -V

如果显示下面的文子就说明安装成功了。

Ubuntu20.04系统,3090显卡,安装驱动、CUDA、cuDNN的步骤_第8张图片

 

 

三、安装cuDNN

进入官网(需要注册)

Ubuntu20.04系统,3090显卡,安装驱动、CUDA、cuDNN的步骤_第9张图片

注册之后进入,同意协议,显示如下

Ubuntu20.04系统,3090显卡,安装驱动、CUDA、cuDNN的步骤_第10张图片

选择自己的版本,我需要CUDA11,就点第一个 。

现在有两种安装cuDNN的方式,第一种方式可以检验;第二种方式要下载的文件比较少。

 

第一种:Debian File形式的安装

1. 下载

选择ubuntu20的这个三文件下载到本地,

Ubuntu20.04系统,3090显卡,安装驱动、CUDA、cuDNN的步骤_第11张图片

 

2. 安装

然后执行以下三个命令

sudo dpkg -i libcudnn8_8.2.2.26-1+cuda11.4_amd64.deb
sudo dpkg -i libcudnn8-dev_8.2.2.26-1+cuda11.4_amd64.deb
sudo dpkg -i libcudnn8-samples_8.2.2.26-1+cuda11.4_amd64.deb
3. 验证

当选择Debian File进行安装时会在/usr/src/cudnn_samples_v8有一些cudnn的例子

在任意目录下展开终端,运行以下命令,通过编译mnistCUDNN sample进行验证

cp -r /usr/src/cudnn_samples_v8/ $HOME
cd  $HOME/cudnn_samples_v8/mnistCUDNN
make clean && make
./mnistCUDNN

如果在执行sudo make”时报以下编译错误 :fatal error: FreeImage.h

mnistCUDNN  sudo make
CUDA_VERSION is 11010
Linking agains cublasLt = true
CUDA VERSION: 11010
TARGET ARCH: x86_64
HOST_ARCH: x86_64
TARGET OS: linux
SMS: 35 50 53 60 61 62 70 72 75 80 86
test.c:1:10: fatal error: FreeImage.h: No such file or directory
 1 | #include "FreeImage.h"
   |          ^~~~~~~~~~~~~
compilation terminated.

则执行:sudo apt-get install libfreeimage3 libfreeimage-dev,然后重新验证。

如果安装成功将会有如下图所示的:Test passed!

Ubuntu20.04系统,3090显卡,安装驱动、CUDA、cuDNN的步骤_第12张图片

这种验证会在home目录下生成一个cudnn_samples_v8文件加,验证成功后删除即可。

 

第二种:Tar File形式的安装

1. 下载

选择ubuntu20的这个文件下载到本地,

Ubuntu20.04系统,3090显卡,安装驱动、CUDA、cuDNN的步骤_第13张图片

2. 安装

下载的是tgz的压缩包,需要先解压:

tar -xzvf cudnn-11.4-linux-x64-v8.2.2.26.tgz

执行安装,其实就是拷贝头文件和库文件并给予权限

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*

完成。解压操作会在当前目录生成一个cuda文件夹,删除即可。

 

参考(包括部分图):
https://www.zhihu.com/collection/593707542
https://blog.csdn.net/dudu815110/article/details/88592558
https://blog.csdn.net/xhw205/article/details/116297555

 
 
 


你可能感兴趣的:(ubuntu深度学习程序员运维)