前言
GPU作为深度学习的一个强有力工具,特别擅长处理矩阵并适用于深度学习等专业应用程序。一般地,深度学习的模型可以在笔记本电脑上运行,但训练模型有时可能需要等待几个小时,而在一个好的GPU上则只需几分钟,因此在深度学习研究上非常推荐使用好的GPU进行运算。
最近实验室新一批的服务器需要组装和配置GPU环境,在之前的配置中参考的网上的安装教程,发现可能是由于教程写得较早的缘故,按照网上的方法进行趟了不少坑。其实经过几次升级,nvidia GPU的环境配置过程已经大大简化,实在没有必要按照网上许多教程中的那些繁冗步骤操作到底,最后很可能还折腾得自己“怀疑人生”,所以这里特地整理了自己安装的详细步骤以供参考。按照本教程的步骤在多台服务器上安装都取得了成功,是在多种方法的比较之下个人认为最新的简洁有效的做法,当然受系统版本、显卡差异影响按照文中的步骤执行时不排除安装失败的可能,遇到问题时得具体分析了。
1.安装显卡驱动
(1)这里采用的是PPA源的安装方式,首先添加Graphic Drivers的PPA源,打开终端输入以下指令代码(添加PPA源并更新):
powershell sudo add-apt-repository ppa:graphics-drivers/ppa sudo apt-get update
(2)使用命令行自动查看合适的驱动版本,系统会自动查找并给出推荐的驱动版本,键入如下代码:
powershell ubuntu-drivers devices
运行以上代码结果如下图所示:
上面的结果给出了可供选择的驱动版本,其中推荐的是最高版本nvidia-driver-440,下面通过命令行进行安装该版本驱动;
(3)在终端键入以下代码安装对应驱动(这里输入上面系统推荐的驱动版本):
powershell sudo apt-get install nvidia-driver-440
安装如图:
(4)驱动安装完成后使之生效需要重启计算机,可手动重启也可输入如下命令:
powershell sudo reboot
(5)待重启完成可检测驱动是否安装成功,在终端输入以下代码:
powershell sudo nvidia-smi
如果安装成功会出现如下图的信息显示,这里可以看到显卡的型号及显存利用情况等信息,如我这里是个人电脑的两块1080显卡:
2. 安装Cuda 10.0
(1)点击进入英伟达驱动安装指引网站,在网站页面上选择要安装的Cuda版本,这里建议安装Cuda 10.0版本(Cuda 10.1和Cuda 9可能会出问题,安装过程可能会麻烦些),如下图所示点击选择Cuda 10.0会跳转至具体选择界面;
(2)在上面跳出的界面中依次选择“Linux”、“x86_64”、“Ubuntu”、“18.04”、“deb(local)”选项,会展开Cuda 10.0的安装指导页面,在网站页面上选择的对应的系统、平台和版本等信息如下图所示:
(3)选择对应版本之后页面下方会提示下载对应的Cuda安装文件,如下图点击下载链接下载(该文件较大可能下载时间较长);
(4)等待上一步中的文件下载完成后按照网站上给出的安装方法进行安装,如下图所示:
首先打开刚刚下载文件所在的文件夹,右击‘在终端打开’(或者cd到该文件夹下),其中上图中第二行命令中“<version>”应改成对应的Cuda版本(可在/var/路径下查找)这里是cuda-repo-10-0-local-10.0.130-410.48,因此在打开的终端应输入的命令如下:
powershell sudo dpkg -i cuda-repo-ubuntu1804-10-0-local-10.0.130-410.48_1.0-1_amd64.deb sudo apt-key add /var/cuda-repo-10-0-local-10.0.130-410.48/7fa2af80.pub sudo apt-get update sudo apt-get install cuda
(4)以上步骤完成,需要重启电脑,待重启完成后测试一下Cuda是否安装成功,依次输入如下代码:
powershell # 第一步,进入例子文件 cd /usr/local/cuda-10.0/samples/1_Utilities/deviceQuery # 第二步,执行make命令 sudo make # 第三步 ./deviceQuery
如果出现下图类似的GPU信息显示,则说明安装成功
3. 安装cuDNN
(1)与Cuda的安装相似,首先进入英伟达开发者网站点击下载cuDNN,这时网页会跳出注册的界面点击“Join”注册一个账号(想要下载cuDNN,这一步是必须的)。注册登录完成后,再次点击下载就会跳转至如下下载页面:
注册登录完成后,再次点击下载就会跳转至如下下载页面:
点击上图红框位置展开更多下载选项,选择与自己Cuda版本对应的cuDNN版本点击下载(如下图所示),这时会弹出具体下载选项;
如下图所示在弹出的具体下载选项中选择红色框标注的三个文件,以此点击进行下载
(2)以上文件下载完成后,进入下载文件所在文件夹并在该文件夹下打开终端(或终端输入cd命令转到该文件目录下),在终端以此输入以下命令(命令中的文件名应与具体下载的文件名字一致):
powershell sudo dpkg -i libcudnn7_7.5.1.10-1+cuda10.0_amd64.deb sudo dpkg -i libcudnn7-dev_7.5.1.10-1+cuda10.0_amd64.deb sudo dpkg -i libcudnn7-doc_7.5.1.10-1+cuda10.0_amd64.deb
执行如下图
(3)同样地安装完成后需要测试一下是否安装成功,在终端输入以下代码:
powershell cp -r /usr/src/cudnn_samples_v7/ $HOME cd $HOME/cudnn_samples_v7/mnistCUDNN make clean && make ./mnistCUDNN
最终如果有提示信息:“Test passed !”,则说明安装成功,如图所示:
至此cuDNN的安装就宣告完成,到这里意味着深度学习GPU的环境支持已设置完毕,接下来可以进行深度学习框架如TensorFlow的安装了。