![fa97a92de194577bb2f81002f64d16f7.png](https://i-blog.csdnimg.cn/blog_migrate/1f05188efacdd9a3e5b78c9021ecdb70.jpeg)
![aac6c70e5d2ab32d5ef942363d02ad91.png](https://i-blog.csdnimg.cn/blog_migrate/4f93e80f73a8b66f65f210aea3a7f240.jpeg)
自从 2080 Ti 出来之后,各种测评不断。比如这篇:https://lambdalabs.com/blog/titan-rtx-tensorflow-benchmarks/ 就比较了 Titan RTX 和 2080 Ti 在图像分类上的区别。
2080 Ti 好归好用,价格和 1080 Ti 比也不能算太贵,但是担不住老黄下刀确实狠。比如直吹式设计的散热让装多于两张 2080 Ti 几乎不可能。新的 NVLink 也只能连接两张显卡,甚至连通过 PCIe 接口之间桥接也从驱动里给裁掉了。之前硬上了三张 2080 Ti 果然烧掉了一张。所以这次组装新的工作站,打算在温度上下苦功夫,不能再烧啦。
要插四张显卡,要么用服务器的 CPU 要么就只能上 AMD 的线程撕裂者。2920X 好在价格便宜,加上主板一万块不到。PCIe 通道的速度是 x16 x8 x16 x8 这样排列,不算最好,但是也够用了。2920X 比我之前的 6850K 多了六个核,感觉至少能快一倍吧!
四张显卡并排安装之后,GeForce 用的 RTX NVLink 就用不上了(只有三插槽和四插槽版的,没有二插槽版的)。幸好 NVIDIA Quadro 有自己的 RTX NVLink 二插槽版,可以通用。虽然不好买,但是官方网站上偶尔会有货,赶快抢下来。
因为确定了是线程撕裂者之后,发现可以插三个 M.2 的 NVMe 固态存储盘。入手了两张三星 970 EVO 1TB 组成 RAID0 的磁盘阵列。
机箱花了一些时间去找。因为有四张显卡,所以我希望主板是平放的。同时考虑到要水冷 CPU 和显卡,按每个芯片需要两个120平方毫米散热板来算,一共需要十个120平方毫米散热板。很多机箱是没有这么大的空间的。最后敲定了 Thermaltake 的 Core X9 这个机箱,在上方可以放两排 120x480mm 的散热板,旁边可以放一排 120x480mm 的散热板,应该够用了。
水冷的组件都从 EKWB 购入(其实在亚马逊上找了 EKWB 的一些打折)。接下去就是组装啦。
组装结果花了不少时间。本来打算前面板放两个200平方毫米的风扇,结果发现放不下,只能放一个。最坑的是 EKWB 的四张显卡的水冷连接件。这个连接件需要从显卡的水冷组件上取螺丝,但是新的 RTX 2080 Ti 兼容的水冷组件上的螺丝短了。在亚马逊上订了新的一组 M4-28mm 标准螺丝才能继续装。现代化工厂都用标准组件真好!
除此之外,装上散热板,加上水之后,这台电脑真重!
原本打算把之前电脑上的两张 860 EVO 1TB 做个 RAID0 装系统,结果老有问题(主要是 EFI!),所以改成了 LVM ,只是把两张 SSD 的存储空间放到了一起(有问题的:帮大家趟了一个 SAMSUNG 和 AMD 的坑)。 970 EVO 的 RAID0 没什么问题!跑下来线性读取速度 6GB 每秒,吓人!
唯一的问题是拆掉 NVIDIA 的散热器之后,就没有温度控制风扇转速了。幸好在 Linux 下都可以自己动手。所以在加载了 nct6775 内核模块后(可以控制主板风扇了),我通过调用 NVML 获取显卡温度,然后就可以根据最热的显卡温度来控制散热风扇速度啦。顺便还把进气口风扇的速度调成了出气口风扇速度的两倍,基本保证了是正向气压(进气口装了过滤网)来减少灰尘!风扇控制程序可以在这里下载:https://github.com/liuliu/rfancontrol
测试了一下 FP32 下 DAWNNet 在四张显卡上一个 Epoch 需要4.7秒左右,而一张 RTX 2080 Ti 需要18秒左右。跑了半个小时之后(这个程序能占满 CPU 和 GPU),GPU 的平均温度在45度左右,而 CPU 的温度在58度左右(截图是 4.18 的内核,和实际温度有27度的温度差)。
最令我意外的是线程撕裂者 2920X 了。之前的 6850K 大概能够从 ImageNet 每秒载入、缩放、裁剪1000多张照片(12线程占满)。2920X 每秒能够处理2500多张照片(24线程占满)并且保持 4GHz 的频率(未超频)。
最后是这台工作站不足的地方。运行 nvidia-smi topo -m
之后可以发现,前两个 GPU 和后两个 GPU 互相之间需要走 Infinity Fabric 。虽然 Infinity Fabric 号称有 40GB/s 的速度,因为这中间又要经过 PCIe ,又要经过 CPU ,实际测下来速度堪忧。运行 ./p2pBandwidthLatencyTest
之后:
Bidirectional P2P=Enabled Bandwidth Matrix (GB/s)
DD 0 1 2 3
0 523.85 93.63 2.31 2.42
1 93.81 524.30 2.41 2.44
2 2.42 2.50 526.83 93.82
3 2.39 2.53 93.67 522.25
所以大概率的话如果参数众多(比如2亿参数以上)的话,可能需要 batch size 大点,再大点。
配件表:
Ryzen Threadripper 2 2920x AMD 2nd Gen Ryzen Threadripper 2920X 12-Core, 24-Thread, 4.3 GHz Max Boost (3.5 GHz Base), Socket sTR4 180W YD292XA8AFWOF Desktop Processor - Newegg.com
MSI x399 Gaming Pro Carbon MSI X399 GAMING PRO CARBON AC sTR4 AMD X399 SATA 6Gb/s USB 3.1 ATX AMD Motherboard - Newegg.com
NVIDIA RTX 2080 Ti x4 Graphics Reinvented: NVIDIA GeForce RTX 2080 Ti Graphics Card
NVIDIA Quadro RTX NVLink HB Bridge (2 Slot) x2 Buy NVIDIA Quadro Professional Graphics Cards & Workstations
G.SKILL Value 32GB (4x8GB) DDR4 2400 x2 G.SKILL Value 32GB (4 x 8GB) 288-Pin DDR4 SDRAM DDR4 2400 (PC4 19200) Desktop Memory Model F4-2400C15Q-32GNT - Newegg.com
Samsung 970 EVO 1TB x2 SAMSUNG 970 EVO M.2 2280 1TB PCIe Gen3. X4, NVMe 1.3 64L V-NAND 3-bit MLC Internal Solid State Drive (SSD) MZ-V7E1T0BW - Newegg.com
EVGA SuperNOVA 1600 T2 EVGA SuperNOVA 1600 T2 220-T2-1600-X1 80+ TITANIUM 1600W Fully Modular EVGA ECO Mode Includes FREE Power On Self Tester Power Supply - Newegg.com
Thermaltake Core X9 E-ATX Black Thermaltake Core X9 Black Edition E-ATX Stackable Tt LCS Certified Cube Computer Chassis CA-1D8-00F1WN-00
SilverStone 8 Port Fan Hub / Splitter x2 SilverStone Technology Silverstone 8-Port PWM Fan Hub/Splitter for 4-Pin & 3-Pin Fans in Black SST-CPF04-USA (Newest Version)
Noctua NF-A20 Fan Noctua NF-A20 PWM, 4-Pin Premium Quiet Fan (200mm) - Newegg.com
Noctua NF-A14 Fan x2 Noctua NF-A14 PWM, 4-Pin, Premium Quiet Cooling Fan (140mm) - Newegg.com
Noctua NF-A12x25 Fan x12 Noctua NF-A12x25 PWM, 4-Pin Premium Quiet Fan (120mm) - Newegg.com
EKWB EK-CoolStream XE 480 Radiator x3 EKWB EK-CoolStream XE 480 Radiator 480mm (Quad) - Newegg.com
EKWB EK-Supremacy sTR4 CPU Waterblock for AMD Ryzen Threadripper CPU, Nickel/Plexi EKWB EK-Supremacy sTR4 CPU Waterblock for AMD Ryzen Threadripper CPU, Nickel/Plexi
EKWB EK-Vector RTX 2080 Ti GPU Waterblock, Nickel/Plexi x4 EKWB EK-Vector RTX 2080 Ti GPU Waterblock, Nickel/Plexi
EKWB EK-Vector RTX Backplate, Nickel x4 EKWB EK-Vector RTX Backplate, Nickel
EK-FC Terminal X4 - Plexi EK-FC Terminal X4 - Plexi
EKWB EK-RES X3 150 Water Cooling Reservoir EKWB EK-RES X3 150 Water Cooling Reservoir - Newegg.com
EK-XTOP Revo Dual D5 PWM Serial EK-XTOP Revo Dual D5 PWM Serial - (incl. 2x pump)
EK-AF Angled 90 Fitting EK-AF Angled 90 G1/4 Rotary Fitting - Nickel 2 Pack
EK-CryoFuel Lime Yellow Premix 900 mL x3 EK-CryoFuel Lime Yellow Premix 900 mL
EK-DuraClear 9,5/12,7mm 3M EK-DuraClear 9,5/12,7mm 3M RETAIL
EK-ACF Fitting 10/13mm - Black x14 EK-ACF Fitting 10/13mm - Black
Drain / Fill Combo Kit EK Drain and Fill combo kit Nickel-EK
M4-28mm Hex Socket Screws XunLiu Grade 10.9 Alloy Steel Button Head Hex Socket Screws (M4X28)