如果你的电脑安装了 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 官网:
https://www.geforce.cn/drivers
在手动搜索驱动程序里,选择自己对于的系统,注意是“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 的下载网站:
https://developer.nvidia.com/cuda-downloads
由于现在 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 的下载网站:
https://developer.nvidia.com/rdp/cudnn-download
值得一提的是,下载之前是需要先注册账号。在下图所示的版本列表中,选择适配 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 环境配置完成。
参考文献:
https://blog.csdn.net/weixin_41864878/article/details/79621210