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

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

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

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

$ sudo apt-get --purge remove nvidia-*

3、打开 blacklist:

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

在最后添加几行:

blacklist vga16fb
blacklist nouveau
blacklist rivafb
blacklist nvidiafb
blacklist rivatv

这时候在终端输入:

$ lsmod | grep nouveau

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

$ sudo gedit /etc/modprobe.d/blacklist-nouveau.conf

直接写入:

blacklist nouveau
blacklist lbm-nouveau
options nouveau modeset=0
alias nouveau off
alias lbm-nouveau off

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

$ sudo update-initramfs -u
$ lsmod | grep nouveau
# 如果这样还有输出,reboot一次

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

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

$ sudo /etc/init.d/lightdm stop
$ sudo init 3

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

$ 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文件

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

$ nvidia-smi

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

最后,回到图像界面。

$ sudo /etc/init.d/lightdm start

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

二、安装 CUDA9.0

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

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

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

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

$ 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 文件,在终端输入:

$ sudo gedit ~/.bashrc

在文件最后加上:

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}}

保存退出。

$ source ~/.bashrc

4、验证 GPU 驱动版本:418.43

$ cat /proc/driver/nvidia/version

验证 CUDA 版本:9.0

$$ nvcc -V

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

三、安装 cuDNN

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

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

$ tar -zxvf cudnn-9.0-linux-x64-v7.6.1.34.tgz

解压命令输出如下:

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

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

$ sudo cp cuda/include/cudnn.h /usr/local/cuda/include/
$ sudo cp cuda/lib64/libcudnn* /usr/local/cuda/lib64/

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

$ 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 路径下检测一下:

$ cd /usr/local/cuda/lib64
$ ll

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

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环境


未经允许不得转载:红色石头的个人博客 » Ubunt16.04 搭建 GPU 显卡驱动 + CUDA9.0 + cuDNN7 详细教程

赞 (3) 打赏

评论 0

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

微信扫一扫打赏