前言
Ubuntu下的GPU环境搭建包括显卡驱动的安装,CUDA的安装以及cudnn的安装配置,下面我将具体介绍N卡的GPU环境配置。
1. 显卡驱动的安装
1.1 官网下载安装
对于N(Nvidia)卡的驱动安装,我们可以在官网搜索最新的适配的驱动,然后手动安装:
- Step1 进入官网显卡驱动页面搜索合适的显卡驱动并下载:  - Step2 添加当前显卡驱动进入黑名单: - 1 
 2
 3
 4
 5
 6
 7- sudo vim /etc/modprobe.d/blacklist.conf 
 blacklist nouveau
 blacklist lbm-nouveau
 options nouveau modeset=0
 alias nouveau off
 alias lbm-nouveau off
- Step3 禁止nouveau: - 1 
 2- echo options nouveau modeset=0 | sudo tee -a /etc/modprobe.d/nouveau-kms.conf 
 sudo update-initramfs -u
- Step4 重启 - 1 - sudo reboot 
- Step5 进入字符模式: - 1 - ctrl + alt + F1 
- Step6 输入用户名密码之后,关闭x server: - 1 
 2- sudo service lightdm stop 
 sudo init 3
- Step7 切换至下载路径,一般默认 - /home/用户名/Downloads/,执行:- 1 
 2
 3- cd nvidia目录 
 chmod 777 NVIDIA-Linux-x86_64-版本号.run
 sudo sh NVIDIA-Linux-x86_64-版本号.run --no-opengl-files
- Step8 重启电脑 - 1 - reboot 
 
1.2 系统自动更新下载
Ubuntu16.04系统自带两个显卡驱动,一个是默认的nouveau驱动,另一个是Nvidia-384显卡驱动,我们可以进入设置-软件与更新-附加驱动可以看到:

选择NVIDIA相应驱动,然后点击Revert即可安装,重启可生效。当然,我们还可以通过命令行安装,如:
| 1 | sudo apt-get install nvidia-384 | 
这两种方式本质都是一样的,都是基于已有软件源进行安装的,为了安装更新的驱动版本,可以更新软件源:
| 1 | sudo add-apt-repository ppa:graphics-drivers/ppa | 
建议在设置中设置默认下载源为中国的软件源。
1.3踩坑指南
- N卡驱动安装生效需要在BIOS设置 - Secure Boot为- false;
- 如果安装失败,且无法进入桌面,可以先进入tty界面(ctrl+alt+F1),卸载N卡驱动: - 1 - sudo apt-get remove --purge nvidia* - 如果是通过runfile安装的,则在安装目录执行: - 1 - sh ./NVIDIA-Linux-x86_64-版本号.run --uninstall 
- 输入 - nvidia-smi或者- nvidia-settings,如果有打印信息,则说明安装成功:  
2.CUDA的安装配置
CUDA是为N卡准备的GPU运算加速库,可以方便我们的GPU计算,一般都自带一个比较旧的显卡驱动,可能跟系统不适配,所以最好不选择安装其自带的显卡驱动,另外,CUDA和显卡驱动也有适配关系:

2.1 官网下载安装
CUDA官网提供了CUDA的下载安装文件,选择我们想要的版本进行安装即可:

下载提供的所有文件,然后依次安装即可,同样是在下载路径执行:
| 1 | sudo chmod 777 cuda*.run | 
安装过程注意:
| 1 | 在安装cuda过程中首先会遇到一大串协议,直接Ctrl+C停止,并输入accept即可跳过 | 
最后我们需要配置环境,由于比较懒,直接命令行执行,以cuda8.0为例:
| 1 | if [ 0 -eq $(cat /etc/profile | grep -c 'export PATH=/usr/local/cuda-8.0/bin:/usr/local/cuda/bin:$PATH') ] ;then | 
终端执行nvcc -V,如果显示cuda信息,则环境配置成功,否则重启电脑重试。
2.2 Conda安装
如果你使用的是anaconda包管理器,可以直接安装下载cuda,可以提前设置下载源:
| 1 | conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/ | 
由于conda的环境管理机制,我们在下载安装很多深度框架(tensorflow-gpu)的同时会自动安装cuda和cudnn:

2.3 卸载
对于cuda8.0直接执行:
| 1 | sudo /usr/local/cuda/bin/uninstall_cuda_8.0.pl | 
3.cudnn的安装配置
3.1 官网下载安装
进入cudnn官网注册登录,选择合适的cudnn版本:

下载得到的是一个压缩包,在下载路径执行(我下的对应版本是cuda8.0, cudnn7.1,若使用可自行修改数字):
| 1 | tar -xzvf cudnn-8.0-linux-x64-v7.1.tgz | 
3.2 Conda安装
见2.2节
3.3卸载
| 1 | sudo rm -rf /usr/local/cuda/include/cudnn.h | 

