【2018年8月3日更新】对于一些步骤进行了说明与调整,增加了一些可能遇到的问题。
目录
实验室新上的华硕超算服务器,型号:华硕ESC8000G3,CPU为Intel至强E5系列,内存128G,八块GeForce GTX TITAN X,Maxwell架构,CUDA核心3072个,28nm工艺,显存位宽384bit,单个显存12GB。
系统:Ubuntu16.04.0 Server(服务器版,不要桌面版)
因为CUDA官网说16.04的内核需要是4.4(编译版本5.3.1),所以装的这个,16.04装完以后gcc编译器版本就是5.4了,没什么太大影响,唯一的影响可能是在装驱动的时候提示CC版本不一致的问题。之前装过一个Desktop版(16.04.4)的卡的要死。。。
从机器买回来一直在摸索,然后就在系统配置上算起来也搞了三四天了,好在终于搞好了。。。
但问题是这个机器还有一个集显,所以驱动装好以后集显就挂了,独显还没有图像显示。。。
然后摸索了两天依旧老样子,气的第二天装了Windows Server。但是还得用Linux啊(毕竟有些GitHub代码复现的时候由于环境变量的原因可能会出错,大公司用的都是Linux系统),然后又一次跳进了坑。。。
各种需要的软件可以在这里下:http://pan.baidu.com/s/1boDrpiJ (密码:4xko),应有尽有,欢迎来取。
一、Ubuntu16.04 Server安装(有坑注意)
安装参考:http://www.360doc.com/content/17/0222/11/17572791_631069401.shtml
系统安装没有什么大的问题,参考教程就可以了,建议英文版,因为中文版进命令行模式之后各种方片,提示信息什么的就相当于直接废了。另外图形界面可以选择性安装,因为后面装驱动可能图形界面就挂了。但是有图形界面TeamViewer就可以远程访问,而且也能传输文件,挺方便的(Ubuntu安装TeamViewer参考:点击此处访问)。
安装图形界面(可选):
sudo apt-get update
sudo apt-get upgrade
sudo apt-get install ubuntu-desktop
★此过程可能存在的问题:
(1)可移动磁盘安装完毕后重启进入grub rescue模式。这个估计就是磁盘分区的时候/boot没弄好,建议分的时候别自己分了,直接安装在整个磁盘就行,出现这个问题还是重装好了。。。
(2)安装过程提示UEFI安装可能存在问题。这个问题在开机之后进入BIOS,然后再Boot中选择没有UEFI启动,再安装就可以了,服务器的Secure boot项我已经关了。
(3)下载的ISO安装文件不完整,安装可能失败。解决这个问题,就只能尽量从官网下载完整的安装包了。我下了16.04.0、16.04.1、16.04.4,下了3个,只有16.04.0可以用。。。其他的在安装过程会提示没有插入CDROM或者提示安装失败。。。
(4)安装好图形界面之后切记不要更新内核!不要更新内核!不要更新内核!更新内核导致原来的显卡驱动崩溃,系统都进不去。。。这个问题已经崩溃了好几次,记得进去图形界面以后先把更新关掉吧。。。
二、安装Nvidia 显卡驱动(重点大坑,严加防范)
安装参考:http://blog.csdn.net/u012581999/article/details/52433609
http://blog.csdn.net/chaihuimin/article/details/71006654
http://blog.csdn.net/u012759136/article/details/53355781
1、卸载有关Nvidia的所有驱动:sudo apt-get remove --purge nvidia*
2、然后禁用nouveau驱动:
(1)创建一个文件通过命令:sudo vim /etc/modprobe.d/blacklist-nouveau.conf
(2)并添加如下内容:
blacklist nouveau
options nouveau modeset=0
(3)再更新一下
sudo update-initramfs -u
(4)修改后需要重启系统。确认下Nouveau是已经被你干掉,使用命令: lsmod | grep nouveau
3、重启之后进入文本模式(命令行)界面,用账户登录,然后关闭X-Window服务:sudo service lightdm stop
4、安装显卡驱动:
(1)给run文件赋予执行权限(文件名可能由于版本不同而不同):sudo chmod a+x NVIDIA-Linux-x86_64-xxx.xx.run
(2)安装,注意参数:sudo ./NVIDIA-Linux-x86_64-xxx.xx.run –no-opengl-files
【参数】
- –no-opengl-files 只安装驱动文件,不安装OpenGL文件。这个参数最重要
- –no-x-check 安装驱动时不检查X服务
- –no-nouveau-check 安装驱动时不检查nouveau
(后面两个参数可不加)
5、重启之后可能存在图形界面无法进入的问题,需要关闭X-Window服务,然后进入文本模式之后。复制/etc/X11下的xorg.conf.failsafe文件到该目录下为xorg.conf即可。然后重启X-Window服务。
★此过程可能存在的问题:
(1)关机之后驱动有时正常,有时崩掉需要重装驱动。。。也不知道是系统的问题还是驱动的问题,崩溃。
(2)安装驱动的时候会检查内核编译版本以及当前gcc版本是否一致,存在不一致会询问是否继续安装。 可以选择更换(更换gcc版本参考:点击此处访问),也可以不更换。
(3)重点的大坑就是安装完驱动之后可能有循环重启的问题或者集显挂掉的问题。解决问题可以参考第三个安装参考或者上面的第5步。
(4)当/etc/X11下没有xorg.conf.failsafe时,首先进入命令行模式,关闭X-Window服务,然后使用命令sudo Xorg -configure,会在家目录下(即“~”)生成一个xorg.conf.new的文件,可以将此文件拷贝到/etc/X11下命名为xorg.conf。重启X-Window服务即可。(参考:点击此处访问)
三、安装CUDA9/CUDA8
安装参考:http://blog.csdn.net/u014595019/article/details/53732015
既然显卡驱动已经装好了,所以CUDA安装过程中就不要装驱动了(第一个提示是否安装nvidia driver什么的选no即可,后面如果还有opengl选no,其他的yes、路径默认即可)。切记:一定不要再装显卡驱动!
基本上走到这一步就没有坑了,后面安装起来还是比较轻松的。
四、安装cuDNN7/cuDNN6
安装参考:http://blog.csdn.net/u014595019/article/details/53732015
这个就比较简单了,从官网下载就好了,官网下载需要填一个类似调查问卷的东西。
主要就是解压,然后将几个文件拷贝到相应位置。(下面以cuDNN6为例,cuDNN7过程一样)
tar -xvf cudnn-8.0-linux-x64-v6.0.0.tgz
sudo cp cuda/include/cudnn.h /usr/local/cuda/include/
sudo cp cuda/lib64/libcudnn* /usr/local/cuda/lib64/
sudo chmod a+r /usr/local/cuda/include/cudnn.h
sudo chmod a+r /usr/local/cuda/lib64/libcudnn*
五、安装Anaconda(Python3.6)
安装参考:http://blog.csdn.net/gjq246/article/details/70848831
这个也好说,就是注意配置环境变量的地方一定写上yes就好了。
另外,conda命令也是搭建环境中经常用到的,可以参考:http://blog.csdn.net/menc15/article/details/71477949
六、安装Tensorflow(GPU版)/PyTorch
装好Anaconda之后直接命令走起安装Tensorflow(GPU版,2018年8月2日最新版本为1.9):
pip install tensorflow-gpu
安装PyTorch(2018年8月2日最新版本为0.4.1):
(1)CUDA9:pip install torch torchvision
(2)CUDA8:pip install http://download.pytorch.org/whl/cu80/torch-0.4.1-cp36-cp36m-linux_x86_64.whl
pip install torchvision
★此过程可能存在的问题:
sudo pip命令提示不存在,原因是sudo默认只能使用系统命令,无法使用$PATH下命令,解决参考:点击此处访问。
七、测试并行GPU
从《TensorFlow实战Google深度学习框架》的第十章中找的代码进行运行,错误还是有(因为现在的TF版本已经到1.3了,各种API的改动也不在少数,所以还需要进行一定的修改),改了之后能跑,目前有一个代码错误还未解决。
代码错误目前已解决,代码:https://github.com/CNU105/GPU-Test。
运行过程中GPU状态图: