前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Ubunt16.04 搭建 GPU 显卡驱动 + CUDA9.0 + cuDNN7 详细教程

Ubunt16.04 搭建 GPU 显卡驱动 + CUDA9.0 + cuDNN7 详细教程

作者头像
红色石头
发布2022-01-12 15:48:29
6170
发布2022-01-12 15:48:29
举报

如果你的电脑安装了 Ubuntu16.04,而且电脑自带一块 NVIDIA GeForce 的 GPU 显卡,那么不用来跑深度学习模型就太可惜了!关于这方面的网上教程很多,但大都良莠不齐。这篇文章将手把手教你如何安装 GPU 显卡驱动、CUDA9.0 和 cuDNN7。值得一试!

注意:由于不同系统,不同 GPU 对应的 CUDA 和 cuDNN 均有差异,本文仅以 Ubuntu16.04、NVIDIA GeForce GPU、CUDA9.0 和 cuDNN7 为例,来介绍安装过程。其它版本过程类似,但存在细微差别,请读者以实践为主。

必要条件

工欲善其事必先利其器,首先确定你的电脑满足下面两个条件。

  • 安装 Ubuntu16.04
  • 电脑自带一块 NVIDIA GeForce GPU 显卡

一、安装 GPU 显卡驱动

有一块 NVIDIA GPU 显卡 还不够,还需要安装 GPU 显卡驱动。

1、首先登陆 GeForce 官网,在手动搜索驱动程序里,选择自己对于的系统,注意是“Linux 64-bit”。其他选项默认即可。然后,点击开始搜索,将会自动搜索你的电脑相匹配的 GPU 显卡驱动,搜索结果如下图所示:

在这里插入图片描述
在这里插入图片描述

如上图所示,结果会显示可用的 GPU 显卡驱动程序,确定你需要的版本,直接点击就可以下载了。例如我选择的版本是418.43,下载后的文件是 NVIDIA-Linux-x86_64-418.43.run

2、打开终端 Terminal,首先卸载系统之前安装的 NVIDIA 显卡驱动,以防万一。(没有安装的可以忽略这一步)

代码语言:javascript
复制
$ sudo apt-get --purge remove nvidia-*

3、打开 blacklist:

代码语言:javascript
复制
$ sudo gedit /etc/modprobe.d/blacklist.conf

在最后添加几行:

代码语言:javascript
复制
blacklist vga16fb
blacklist nouveau
blacklist rivafb
blacklist nvidiafb
blacklist rivatv

这时候在终端输入:

代码语言:javascript
复制
$ lsmod | grep nouveau

如果没有输出,可以直接进行下一步,安装驱动。如果仍有输出,则在终端输入:

代码语言:javascript
复制
$ sudo gedit /etc/modprobe.d/blacklist-nouveau.conf

直接写入:

代码语言:javascript
复制
blacklist nouveau
blacklist lbm-nouveau
options nouveau modeset=0
alias nouveau off
alias lbm-nouveau off

保存关闭,再在终端输入下面的命令验证是否没有输出了。

代码语言:javascript
复制
$ sudo update-initramfs -u
$ lsmod | grep nouveau
# 如果这样还有输出,reboot一次

到这一步,应该没有输出了,可以进行安装驱动了。

4、在正式安装驱动之前,请记住你的驱动的 .run 文件的下载路径和完整的文件名。按 Ctrl+Alt+F1 进入命令行界面,输入下面的命令:

代码语言:javascript
复制
$ sudo /etc/init.d/lightdm stop
$ sudo init 3

进入 .run 文件的下载路径,使用 chmod 命令增加 .run 文件的运行权限。

代码语言:javascript
复制
$ chmod a+x NVIDIA-Linux-x86_64-418.43.run
$ sudo ./NVIDIA-Linux-x86_64-418.43.run -no-x-check -no-nouveau-check -no-opengl-files  #这里是关闭x server,nouveau和不下载opengl文件

然后就会开始安装程序,安装完成之后,输入下面的命令:

代码语言:javascript
复制
$ nvidia-smi

如果出现与下面类似的结果,证明驱动安装成功了。

在这里插入图片描述
在这里插入图片描述

最后,回到图像界面。

代码语言:javascript
复制
$ sudo /etc/init.d/lightdm start

这样,驱动就算正式安装成功了。

二、安装 CUDA9.0

1、首先,登录 CUDA 的下载网站,由于现在 CUDA 的版本已经更新到 10 了,我们需要安装 9.0 版本。因此,点击 Legacy Releases,进入之前的版本列表。

在这里插入图片描述
在这里插入图片描述

然后,在 CUDA 版本列表中,选择 9.0 版本。

在这里插入图片描述
在这里插入图片描述

选择对应的系统等信息,就可以点击 Download 进行下载了。注意选择下载 runfile 文件。

在这里插入图片描述
在这里插入图片描述

2、打开终端,进入 CUDA9.0 的下载目录,输入:

代码语言:javascript
复制
$ chmod a+x cuda_9.0.176_384.81_linux.run
$ sudo ./cuda_9.0.176_384.81_linux.run

然后就会进入安装。在安装过程中会询问你一些配置信息,一般直接选择默认选项就行。有一个必须注意的地方是会让你选择是否安装 Graphics Driver for Linux-x86_64:XXXX 版本,这个地方必须选择 no!否则会覆盖之前的驱动。

3、安装完毕之后,声明环境变量。打开 .bashrc 文件,在终端输入:

代码语言:javascript
复制
$ sudo gedit ~/.bashrc

在文件最后加上:

代码语言:javascript
复制
export PATH=/usr/local/cuda-9.0/bin${PATH:+:${PATH}}
export LD_LIBRARY_PATH=/usr/local/cuda-9.0/lib64${LD_LIBRARY_PATH:+:${LD_LIBRARY_PATH}}

保存退出。

代码语言:javascript
复制
$ source ~/.bashrc

4、验证 GPU 驱动版本:418.43

代码语言:javascript
复制
$ cat /proc/driver/nvidia/version
在这里插入图片描述
在这里插入图片描述

验证 CUDA 版本:9.0

代码语言:javascript
复制
$$ nvcc -V
在这里插入图片描述
在这里插入图片描述

5、还有可能遇到的问题是没有安装 gcc 或者 gcc 版本过高需要手动进行降级,都比较好解决,这里就不再赘述了。

三、安装 cuDNN

1、首先,进入 cuDNN 的下载网站。值得一提的是,下载之前是需要先注册账号。在下图所示的版本列表中,选择适配 CUDA9.0 的,对应的是 Linux 系统。

在这里插入图片描述
在这里插入图片描述

2、下载完毕之后,解压:

代码语言:javascript
复制
$ tar -zxvf cudnn-9.0-linux-x64-v7.6.1.34.tgz

解压命令输出如下:

代码语言:javascript
复制
cuda/include/cudnn.h
cuda/NVIDIA_SLA_cuDNN_Support.txt
cuda/lib64/libcudnn.so
cuda/lib64/libcudnn.so.7
cuda/lib64/libcudnn.so.7.6.1
cuda/lib64/libcudnn_static.a

拷贝相关文件至指定目录:

代码语言:javascript
复制
$ sudo cp cuda/include/cudnn.h /usr/local/cuda/include/
$ sudo cp cuda/lib64/libcudnn* /usr/local/cuda/lib64/

3、到本地 cuda 路径,创建软连接,终端输入:

代码语言:javascript
复制
$ cd /usr/local/cuda/lib64
$ sudo chmod +r libcudnn.so.7.6.1
$ sudo ln -sf libcudnn.so.7.6.1 libcudnn.so.7  
$ sudo ln -sf libcudnn.so.7 libcudnn.so  
$ sudo ldconfig  

注意,这里的文件名即版本号就参照之前解压出来的文件名对照着写。

4、到本地 cuda 路径下检测一下:

代码语言:javascript
复制
$ cd /usr/local/cuda/lib64
$ ll

出现 cuDNN 对应的版本号就证明安装成功!

代码语言:javascript
复制
lrwxrwxrwx  1 root root        13 3月  19 16:02 libcudnn.so -> libcudnn.so.7*
lrwxrwxrwx  1 root root        17 3月  19 16:02 libcudnn.so.7 -> libcudnn.so.7.6.1*
-rwxr-xr-x  1 root root 287641664 3月  19 16:00 libcudnn.so.7.6.1*

大功告成!GPU 显卡驱动 + CUDA9.0 + cuDNN7 环境配置完成。

参考文献:

Ubuntu16.04搭建GTX1080+CUDA9.0+cuDNN7.0.5+Tensorflow1.6.0环境

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2019-08-12 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 必要条件
  • 一、安装 GPU 显卡驱动
  • 二、安装 CUDA9.0
  • 三、安装 cuDNN
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档