PS:把以前写的文档分享出来,大部分内容也是根据参考文献来的,但是都是经过自己一步一步验证过的,希望能帮到有需要的同学。
一、安装nvidia驱动
首先,在其他电脑上去NVIDIA驱动官网(https://www.nvidia.cn/Download/index.aspx?lang=cn) 下载适合的驱动,我这里驱动文件是NVIDIA-Linux-x86_64-390.87.run
接着,卸载掉原有驱动:
$ sudo apt-get purge nvidia*
然后,禁用nouveau。打开编辑配置文件/etc/modprobe.d/blacklist.conf(一开始只能用vi进入该文件,但是vi太难用了,可以先通过命令sudo apt-get install vim来下载vim,再通过vim来进入该文件并编辑它),在最后一行添加:
blacklist nouveau
这里是禁用nouveau第三方驱动,之后也不需要改回来。
执行:
$ sudo update-initramfs -u
之后重启电脑,发现显示器分辨率变得特别低(这是正常的),重启完电脑过后
执行命令,:
$ lsmod | grep nouveau
没有输出即屏蔽好了。
之后,禁用X服务:
$ sudo /etc/init.d/lightdm stop
(或者是sudo service lightdm stop
)
然后,安装驱动。通过“Ctrl-Alt+F1”进入命令行界面(之后可通过“Ctrl-Alt+F7”来退出命令行界面)
给驱动run文件赋予执行权限:
$ sudo chmod a+x NVIDIA-Linux-x86_64-390.87.run
最后,安装该驱动:
$ sudo ./NVIDIA-Linux-x86_64-390.87.run –no-opengl-files
这一条命令需要注意的是:
–no-opengl-files 只安装驱动文件,不安装OpenGL文件。这个参数最重要
–no-x-check 安装驱动时不检查X服务
–no-nouveau-check 安装驱动时不检查nouveau
后面两个参数可不加。
在安装驱动的时候,有一句问你”Would you like to run the nvidia-xconfig utility to automatically update your X configuration file…”什么的,选择 No即可。
完成以上步骤后,重启电脑,发现显示器分辨率又恢复正常了。
输入用户名和密码后登入到界面。可以通过两种方式来验证已经成功安装了英伟达的显卡驱动。打开终端:
方法一:
输入命令:
$ cat /proc/driver/nvidia/version
如下图所示:
方法二:
输入命令:
$ nvidia-smi
如下图所示:
二、安装cuda9.0
首先去官网下载CUDA 9.0,如下图所示:
这里选择的是.run文件。下载完过后,打开下载的目录,点击终端,输入命令:
$ sudo sh cuda_9.0.176_384.81_linux.run
然后这里会出现More(0%),意思是你要阅读这些协议,连续按空格键可跳过,按照提示输入accept,第一个安装的时候,是安装图形驱动的,由于前面已经安装了NVIDIA驱动,所以选择no,后面全选yes,建议选择默认安装路径。
安装完之后如下图所示:
接下来配置环境变量:
$ sudo gedit ~./bashrc
将以下内容写到文件尾部:
export PATH=/usr/local/cuda-9.0/bin:$PATH
export LD_LIBRARY_PATH=/usr/local/cuda-9.0/lib64:$LD_LIBRARY_PATH
保存后,通过以下命令更新环境变量:
$ source ~/.bashrc
可以通过两种方式验证cuda已经安装好:
方法一:
通过命令:
$ nvcc -V
(或者nvcc -version
)
来显示cuda的版本,如下图所示:
则代表cuda已经安装成功。
方法二:
测试安装cuda过程中生成的样例程序 Samples(这里仅测试一个程序),样例程序默认被生成到家目录(/home/haohao)下:
$ cd /home/haohao/NVIDIA_CUDA-9.0_Samples/1_Utilities/deviceQuery
$ sudo make
$ ./deviceQuery
如下图所示:
这里显示的是关于GPU的信息,则代表cuda已经安装成功。
三、安装cuDNN7.3.0
首先去官网下载cuDNN7.3.0,如下图所示:
这里选择的是cuDNN v7.3.0 Library for Linux(下载下来为cudnn-9.0-linux-x64-v7.3.0.29.tgz;这里下载deb格式的也行,但是解压出来位置比较难找)
$ cd ~/Downloads
$ tar -zxvf cudnn-9.0-linux-x64-v7.3.0.29.tgz
(解压出来后,顶层文件名为cuda)
$ sudo cp /home/haohao/Downloads/cuda/include/cudnn.h /usr/local/cuda/include
(复制头文件)
$ sudo cp cuda/lib64/libcudnn* /usr/local/cuda/lib64/
(复制库文件)
以下五条命令为重新建立新的动态链接库(因为libcudnn.so libcudnn.so.7是直接从其他地方拷贝过来的,所以原先的链接失效了)
$ cd /usr/local/cuda/lib64/
$ sudo rm -rf libcudnn.so libcudnn.so.7
$ sudo ln -s libcudnn.so.7.3.0 libcudnn.so.7
$ sudo ln -s libcudnn.so.7 libcudnn.so
$ sudo ldconfig
(使配置生效)
通过以下方式验证cuda和cudnn已经安装成功(我觉得cudnn的验证方式并不是一定正确)
$ cat /usr/local/cuda/version.txt
$ cat /usr/local/cuda/include/cudnn.h | grep CUDNN_MAJOR -A 2
如下图所示:
参考文献:
1、《Ubuntu 16.04 + Nvidia 显卡驱动 + Cuda 8.0 (问题总结 + 解决方案)
》(https://blog.csdn.net/Zafir_410/article/details/73188228)
2、《Ubuntu 16.04下配置GPU版CUDA和cuDNN》(https://blog.csdn.net/dihuanlai9093/article/details/79253963/)
3、《 Ubuntu16.04+cuda9.0安装教程》(https://www.cnblogs.com/iloveblog/p/7683349.html)
4、《ubuntu16.04+cuda8.0(GTX1080)+caffe安装》(https://blog.csdn.net/sinat_29089097/article/details/52075411)
5、《ubuntu16.04+cuda9.0+cudnn7.0+tensorflow1.8安装指南》(https://blog.csdn.net/lcz200/article/details/80405099)
6、《查看 CUDA cudnn 版本》(https://blog.csdn.net/zhangjunhit/article/details/7653
7、笔者的另一片文档《ubuntu桌面进不去的解决方法.docx》。