配置深度学习主机与环境(TensorFlow+1080Ti) | 第一章:硬件选购与主机组装

01 硬件选购

研究需求,遂组装一台全新的计算机,安装Ubuntu,用来运行TensorFlow,同时保留Win10,方便其他其他场合使用。因为硬件更新换代很快,各种网络结构也层出不穷。因此,考虑使用多显卡来提升系统的计算能力是有必要的。现阶段,主要购买单块显卡实现整个系统的搭建,同时保留拓展(多显卡)空间。

硬件清单如下:

BOM

以上配置总共花费24173.1元人民币,购买时间主要在6月底7月初,没能赶上京东618的活动,顺便不幸的碰到了显卡缺货,所以价格上仅供参考。

1、主板

因为考虑到系统有可能拓展四块显卡,因此主板首先需要支持4-Way NVIDA SLI功能,通常单块显卡占用16条PCIE通道,四块显卡则需要16*4=64条PCIE通路,而常见的i7处理器中的高端型号最高只有40条PCIE通道,因此理论上的处理方法是需要使用两块CPU实现双通道处理。京东上就有使用双路E5配合4路1080Ti所搭建的深度学习主机。

双路E5配合4路1080Ti

在不考虑双路CPU的情况下,要想实现16*4PCIE通路,目前只有Asus X99-E WS/USB 3.1唯一一块主板可以实现PCIE通路的拓展。

ASUS X99-E WS USB3.1主板说明书

上图是主板说明书中的一页,显示主板共有7条PCIE接口。使用四块显卡,分别放置于1、3、5、7号PCIE接口,可以实现4*16条PCIE通道。具体实现我并不是特别清楚,但是在我的深度学习工作站攒机过程记录(http://cn.soulmachine.me/2016-08-13-my-deep-learning-workstation-assemble-process-note/)中,作者也同样询问过这个问题:

Asus X99-E WS/USB 3.1

2、中央处理器CPU

为适配主板型号,CPU为LGA2011-v3系列,同时支持最高40条PCIE通道。因为系统主要使用显卡进行计算,因此对CPU的要求并不是很高。Tim Dettmers(http://timdettmers.com/)在其Blog:A Full Hardware Guide to Deep Learning中提到CPU的核心数并不重要,拥有相对较高的主频即可。

CPU:Two threads per GPU; full 40 PCIe lanes and correct PCIe spec (same as your motherboard); > 2GHz; cache does not matter;

最后决定在i7-5930K和i7-6850K中二选一,价格差距不大,遂选择主频较高的i7-6850K。

注意:i7-6850K是不带核显的,装机前期显卡还没到,特地借了一张点亮卡用来检测装机情况。

各型号处理器具体参数可以在Intel官方网站查询(https://ark.intel.com/zh-cn/products/94188/Intel-Core-i7-6850K-Processor-15M-Cache-up-to-3_80-GHz)与对比。

i7-5930K&i7-6850K参数对比

3、显卡GPU

并非所有的显卡都支持CUDA,实际上仅有部分Nvidia高端显卡才支持,具体支持列表可前往Nvidia(https://developer.nvidia.com/cuda-gpus)查询。

TensorFlow对GPU的要求

目前10系显卡横空出世,基本上深度学习主机主要可选为:Titan Xp、1080Ti、Titan、1060与Tesla系列,深度学习模型对参数精度要求并不高,因此除非土豪,可以排出Tesla系列显卡。在金钱允许但非土豪的情况下,1080Ti是目前最佳的选择。在显卡的选购过程中,肯定会遇到公版与非公版的选择问题。虽然非公版的散热较好,且自带超频,但考虑到系统的稳定性与兼容性,建议还是选择公版显卡。另外非公版显卡还可能会遇到显卡太厚主板放不下的问题。

在显卡的购买过程中正好遇到了显卡慌,京东上所有自营的商家全部缺货,剩下的部分显卡都在6500~7000RMB左右。不得已选择上淘宝代购,结果大部分代购商家都拿不到货,难怪大家都盼望着矿难。另外海淘显卡推荐选择EVGA,在台湾有维修点,方便保修。

以下图表和建议,来自于Which GPU(s) to Get for Deep Learning: My Experience and Advice for Using GPUs in Deep Learning(http://timdettmers.com/2017/04/09/which-gpu-for-deep-learning/):

Normalized cost efficiency of GPUs which takes into account the price of other hardware. Here we compare a full machine, that is 4 GPUs, along with a high end hardware (CPU, motherboard etc.) worth $1500.

Best GPU overall (by a small margin): Titan Xp

Cost efficient but expensive: GTX 1080 Ti, GTX 1070, GTX 1080

Cost efficient and cheap: GTX 1060 (6GB)I work with data sets > 250GB: GTX Titan X (Maxwell), NVIDIA Titan X Pascal, or NVIDIA Titan Xp

I have little money: GTX 1060 (6GB)

I have almost no money: GTX 1050 Ti (4GB)

I do Kaggle: GTX 1060 (6GB) for any “normal” competition, or GTX 1080 Ti for “deep learning competitions”

I am a competitive computer vision researcher: NVIDIA Titan Xp; do not upgrade from existing Titan X (Pascal or Maxwell)

I am a researcher: GTX 1080 Ti. In some cases, like natural language processing, a GTX 1070 or GTX 1080 might also be a solid choice — check the memory requirements of your current modelsI want to build a GPU cluster:This is really complicated, you can get some ideashereI started deep learning and I am serious about it: Start with a GTX 1060 (6GB). Depending of what area you choose next (startup, Kaggle, research, applied deep learning) sell your GTX 1060 and buy something more appropriate

I want to try deep learning, but I am not serious about it: GTX 1050 Ti (4 or 2GB)

4、机箱

选择Tim Dettmers(http://timdettmers.com/)与NVIDIA® DIGITS™ DevBox(https://developer.nvidia.com/devbox)同款机箱,被大多数深度学习用户所采用。

NVIDIA® DIGITS™ DevBox

5、电源

建议不要在电源上省钱,主机可能24小时运行,稳定性最重要。1600w对付4块1080Ti足以。另外:Nvidia DevBox 用的是 EVGA 1600W 80+ Gold 120-G2-1600-X1,比我买的钛金便宜点。

6、散热

在风冷和水冷的选择上纠结了很久,总担心水冷过保之后会漏水,最终还是选择了风冷。直接选择京东上猫头鹰最贵的一款(NOCTUA NH-D15 CPU散热器),后期使用情况看,散热不错,噪音也不大。

如果选择水冷的话建议将冷排安装在AIR540机箱的顶端,这样可以避免顶端进灰。

7、内存

i7-6850K默认主频2400MHz,开启XMP之后,自动超频为3200MHz。因此建议购买DDR4 3200MHz内存条。

XMP是Extreme Memory Profile的缩写,是Intel在2007年9月提出的内存认证标准,适用于DDR3和DDR4。

为了统一行业内的超频数值标准,而不让各个内存厂商随意设定更高的内存频率数值写入到SPD,英特尔提出了XMP认证标准。通过XMP认证的内存会在内存地址176 ~ 254中记录内存的速度设定,最多可以保存2组设定值。厂商们如需要得到XMP的认证,就必须把内存及该设定送交Intel测试,通过后就会给予认证。

通过XMP认证后,其SPD中除了预设普通频率数值的SPD值外,还写入了更高频率设定的SPD。这个更高频率的设定配合支持XMP的主板后可以被启用,从而将内存超频提升性能。

简单的说,通过了英特尔XMP认证的内存,SPD中有两个或更多频率设定档案,只要在主板中启用这些预设的XMP档案,即可将内存条自动超频到3200或更高值(根据档案设定而定)。

XMP与手动超频效果基本无异,所以可将其看作为内存的自动超频技术。

8、显示器

显示器就是生产力。

9、鼠键

建议购买无线鼠键,可以离机箱远远的。

注意:在系统点亮之后可能无法识别无线鼠键,建议在点亮阶段使用有线鼠键。

10、存储

若训练集庞大,建议购买较大的SSD,HDD可用来仓储。假如需要安装双系统,建议SSD 512G,HDD可以用来当作Win10和Ubuntu的公共挂载盘。

02

主机组装

计算机组装应该是整个搭建过程中最简单的部分了,虽然我之前从来没有组装过电脑。

第一步将CPU(注意方向)、RAM、SSD(M.2 Nvme)安装到主板上,将主板附送的主机后置面板安装到机箱上。

第二步将将散热安装到CPU上,放到机箱中,确定散热器风道方向与散热器的位置,以免放不下。

第三步涂硅脂,重新将确定好位置的风扇安装到CPU上。

第四部将主板固定到机箱上,注意机箱上的铜柱不多也不少,避免主板下面有空余的铜柱而导致主板短路。

第五步将GPU和其他pcie接口设备安装到主板与机箱上,安装磁盘阵列到机箱内,安装电源模块。

第六步接线。

关于组装电脑的相关资料如下:

1. 知乎:如何配组装电脑?(https://www.zhihu.com/question/19912421)

2. 知乎:关于组装电脑的一些常识(https://zhuanlan.zhihu.com/p/24178025)

3. 【极客湾】萌妹子带你装电脑(萌新向)(http://www.bilibili.com/video/av8536529/)

03

参考资料

1. 知乎:如何配置一台适用于深度学习的工作站?(https://www.zhihu.com/question/33996159?sort=created)

2. 我的深度学习工作站攒机过程记录(http://cn.soulmachine.me/2016-08-13-my-deep-learning-workstation-assemble-process-note/)

3. 我爱自然语言处理:深度学习主机攒机小记(http://www.52nlp.cn/%E6%B7%B1%E5%BA%A6%E5%AD%A6%E4%B9%A0%E4%B8%BB%E6%9C%BA%E6%94%92%E6%9C%BA%E5%B0%8F%E8%AE%B0)

4. 深度 | 从硬件配置到软件安装,一台深度学习机器的配备指南(http://www.sohu.com/a/114876547_465975)

5. 小白在闭关:搭建一台用于深度学习的工作站(http://wh1te.me/index.php/2016/07/02/build-a-dl-platform/)

6. Tim Dettmers:Which GPU(s) to Get for Deep Learning: My Experience and Advice for Using GPUs in Deep Learning(http://timdettmers.com/2017/04/09/which-gpu-for-deep-learning/)

7. Tim Dettmers:A Full Hardware Guide to Deep Learning(http://timdettmers.com/2015/03/09/deep-learning-hardware-guide/)

8. Build Personal Deep Learning Rig: GTX 1080 + Ubuntu 16.04 + CUDA 8.0RC + CuDnn

7 + Tensorflow/Mxnet/Caffe/Darknet(http://guanghan.info/blog/en/my-works/building-our-personal-deep-learning-rig-gtx-1080-ubuntu-16-04-cuda-8-0rc-cudnn-7-tensorflowmxnetcaffedarknet/)

原文发布于微信公众号 - 人工智能LeadAI(atleadai)

原文发表时间:2017-10-09

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏web前端教室

初试以知识管理的方式--领读 《深入浅出nodeJs》

昨天在微课里跟大家分享了 07/21 微课文字版 | 35+,你的出路在哪里? 这个话题,并且讲了我的一些近况和处理这个问题的办法。前天写的文章就是 学前端8...

1946
来自专栏编程一生

多服务器终端交互利器--polysh和atnodes到高逼格日志中心

944
来自专栏飞总聊IT

大数据那些事(24):没毕业的IMPALA

自从Dremel出来以后,跟风的行动就开始了。狗狗出品,必有跟屁虫,必有抄袭者,更有炒作的。Cloudera最开始宣传的时候,在2012年,它们做的一个新系统叫...

3237
来自专栏FreeBuf

看我如何用一千块钱搭个八核十六线程、32G内存的工作站

* 本文原创作者:Push丶EAX,本文属FreeBuf原创奖励计划,未经许可禁止转载 笔者经常要使用虚拟机,然而作为一个用着i3的屌丝,每一次开虚拟机都是一次...

1955
来自专栏前端架构

JMeter与LoadRunner的比较

本来打算写一篇JMeter和LoadRunner的简单比较的文章,Google了一下,发现类似的文章已经有不少了,中文的英文的都有。大致阅读了几篇,发现其中一篇...

652
来自专栏Netkiller

因果图在运维工作中的应用

因果图在运维工作中的应用 摘要 我的系列文档 Netkiller Architect 手札 Netkiller Developer 手札 Netkill...

3607
来自专栏FreeBuf

神器分享:物联网黑客工具包

今天,我将在BSides San Francisco做一个题为“物联网黑客工具包”的演讲。我会准备一个幻灯片并且发布一篇博客去参加这个演讲,如果有我演讲的视频链...

520
来自专栏视频加密

自由定制视频播放器,不要太好用哦!

先来说一说问什么要定制视频播放器?市面上那么多像西瓜影音、吉吉影音等大量的视频播放器,还不够用吗?当然可以,但是满足特定群体的需求我们就需要定制一款自有的视频播...

1546
来自专栏大魏分享(微信公众号:david-share)

读天龙八部,品红帽的各项武功

前言: 最近有一些新朋友和老战友咨询笔者红帽培训相关的事情,笔者结合自身参加RHC认证考试的体会,写本文介绍一下红帽认证体系。本文尝试用相对有趣的写法,描述各项...

3068
来自专栏企鹅号快讯

C语言真的太强大了,C几乎无处不在!

今天存在的许多C项目都是在几十年前开始的。 UNIX操作系统的开发始于1969年,其代码在1972年被重写为C语言。C语言实际上是为了将UNIX内核代码从汇编语...

1757

扫描关注云+社区