专栏首页吉浦迅科技一台优秀的GPU服务器是什么样子的?

一台优秀的GPU服务器是什么样子的?

到年底了,又到了各大高校开始动手采购GPU服务器的时候到了,最近不少学生在QQ上请我们帮忙看看配置

对此,我们觉得还是有必要写个文章来说一下如何配置一台GPU服务器。

用途要清晰

在配置一台GPU服务器之前,你首先要明确一下: 我买这台GPU服务器到底要干什么?

你是做科学计算?还是做深度学习?

你是做研究?还是做生产(比如你是要拿来运营GPU数据中心的)?

关于集群

做生产用的,就是搭建GPU数据中心,一般都是上集群,有专门的机房,这类用户一定需要机架服务器,GPU卡一定是用Tesla卡。如果你用机架服务器搭游戏卡,我只能呵呵,从这配置上就不专业好吧(挖矿的用户一定表示不服)。

既然是集群用,数据存储、Infiniband网络基本一个都不能少,经费充足,又希望得到NVIDIA原厂技术支持,那么显然是采购NVIDIA DGX系列服务器。目前一台DGX-1机架服务器价格在70万-90万之间(注意有分教育价格和非教育价格)。具体规格我不在这里说了,大家可以去NVIDIA官网搜索一下相关资料。

你的DGX集群规模越大,越能召唤NVIDIA工程师给你干活!(一般人我都不告诉)

采购DGX系列服务器需要向具备NVIDIA NPN资格的分销商咨询,比如浪潮、联强、宝德、思腾创新等。他们相对应的NVIDIA销售资源丰富一些。

如果预算不是那么多,那么我还是建议采购品牌服务器为主,并且是向有丰富集群建设经验的系统集成商采购,这样你的负担会小很多,我也经常在QQ 群里遇见采购个小集群,然后经销商只管按照用户列的配置卖,不帮你装环境,什么都不管,然后学生痛苦地配置集群环境。(弱弱吐槽一下一般经过学校招投标杀低价后,很多供应商都是只会按照配置卖,其它什么都不懂的)——基本上我建议向浪潮、惠普、Dell等有集群经验的供应商采购。采购之前要跟他们了解一下过去是否有集群搭建经验 ,尤其是环境配置,所以最好是把这一条放到招标文件里。

再也不需要为配置Tesla 深度学习服务器发愁了,NVIDIA早就为你准备好了...

一般来说高校研究单位买GPU服务器是用来研究学习用的。我们主要谈谈这一部分。

单精度or双精度?

这个问题也很重要!

一般来说做科学计算的用户对双精度(FP64)计算要求高,

对深度学习或者神经网络的用户来说对双精度计算要求不那么高,单精度(FP32)计算就可以了。

关于什么是单精度、双精度,可以看一下这个文章(科普 | 单精度、双精度、多精度和混合精度计算的区别是什么?

如果你对双精度计算要求高的话,那么你就只能买Tesla卡了。目前市场上可以买到的具备双精度计算能力的Tesla卡就是Tesla V100和Tesla P100:

(注意现在销售的主要是32G显存的Tesla V100)

有哪些主流的科学计算是可以利用GPU加速?这一篇让你看明白!

NVIDIA Tesla V100在高性能应用中到底有多强?一文让你知道

【资料学习】我到底拿什么说服老板采购Tesla V100!

Q:预算够买Tesla卡么?

经常遇到老师问能推荐一款2万以内的支持双精度的Tesla卡么?

——还真的没有!32GB Tesla V100 行货的市场价格在6万左右,Tesla P100也要小3万.

Q:Tesla Tesla K80如何?

有经销售说还囤了点Tesla K80,但是Kepler架构过于旧了,你没有办法享受最新的CUDA功能给你带来的各种好处,也不支持INT8/FP16,真的不建议搞研究的老师采购,况且这个卡已经退市很久了,质保售后也是问题。

另外,CUDA在逐渐淘汰老计算能力的卡,以前是1.x计算能力被淘汰了,2.x计算能力被淘汰了(Tesla C20系列),现在虽然K80是3.x计算能力,但想来继续被支持也不会太久了。诸位老师难道要想辛苦的课题成果,很快就面临老平台不能使用,必须针对新平台(7.x计算能力)升级迁移的痛苦吗?

如果只是因为预算的问题要消费降级,真是不值得。

但是注意了!如果你选择采购Tesla卡,就一定要用机架服务器!这是正确的打开方式!

关注我们公众号的很多用户已经被我教育得知道散热很重要!即使如此我们的QQ技术群还是三天两头地有人说在工作站上装Tesla卡,跑着跑着就蓝屏....

当然我也知道有人会说“我就是在工作站上装Tesla卡,把散热做好就没问题“——确实如此,前提条件下是你确实做好了散热。

好了,接下来说只需要单精度计算的用户!

恭喜你,你选择很多,Tesla卡,RTX游戏卡你都可以选择了。而且实际上RTX单精度计算能力还真是优于Tesla卡(希望NVIDIA销售不跟老黄投诉我)。

工作站还是机架也随你挑,只要你不嫌弃机架服务器吵,你也可以任性地放办公室里。

在这里也不得不说我发现了一个奇怪的现象,就是Tesla的用户总喜欢在工作站上装,而RTX游戏卡的用户却喜欢在机架服务器上装,还一装装8个...

机架服务器不是不能装RTX卡,但是还是一个散热问题。我们不推荐用户装这种:

NVIDIA双风扇GeForce RTX散热器破坏多GPU性能,是真的么?

要装就装这种Turbo版本,可以装在机架服务器上,价格可以先去参考一下某东商城:

看ASUS ESC4000G4如何轻松装进4片RTX2080ti

很多深度学习的用户很喜欢用RTX2080ti、Titan RTX 。

这类的图灵卡,我们还是需要对它们的特性有所了解,这样在我们写代码的时候才可以把他们的性能发挥到最大。

NVIDIA RTX2080ti不支持P2P Access,这是真的么?

深度学习GPU卡性能比拼:见证Titan RTX“钞能力”

原来你是这样的GPU卡|NVIDIA发布新一代Titan系列:Titan RTX

例如这些卡具有新一代的互联能力,卡间互相数据访问的速度非常快的。但是却并不是每个机器都会给你配上NVLink。所以需要上P2P Access高速互相访问的代码,你在写代码的时候,要去判断能否卡间互相访问成功的, 如果不能,往往都需去添加上fallback的备用路径代码的。

接下来我们开始具体分析一下配置

CPU该如何选择

目前我看到很多人的配置,尤其是科学计算的用户,

基本上都是配置双路CPU,而且CPU往往都是频率最高,核数最多,

然后还上最大的内存条,插满所有槽。

不在乎钱的话,显然这样配置好。

在乎钱的话,可以节省一点钱的。特别是CPU的钱。CPU提供的PCI-E通道数足够即可。没必要双路,4路配满,主频最高型号的。因为实际应使用中的主力处理都是GPU,可能比你的CPU在特定问题上高出1-2个数量级的性能。此时是否升级到顶配CPU已经基本无意义了。除非你想糊弄老板,自己减少在GPU上的工作量,此时则可以考虑顶配CPU上满,从而减少自己往GPU移植的工作量。

有用户说因为预算有限,我先配置一个双路服务器,就上一颗CPU,但以后有预算了,我再加一颗CPU。

—— 这样做没有什么问题,但需要注意PCI-E的带宽上的分配,和PCI-E的拓扑结构。

1.有的主板默认是2个CPU管下面各自的PCI-E槽的,如果只插入1个CPU的话,可能部分槽无法使用。(但是这种主板的总PCI-E带宽高)。

2. 有的主板是默认1个CPU管所有的槽的,另外一个CPU只负责应用的运算。这种则没有影响,但是可能总的PCI-E带宽低。

此外,因为双路CPU实际上是2个内存域,往往双路的总内存带宽高,特别是对于渣代码来说(不管是纯CPU应用,还是CPU+GPU应用),可以有效的抵抗渣访存/传输,内存瓶颈所影响的性能。

我建议总是上2个CPU,哪怕是渣一点的(以后可以更换成更好的2个CPU,CPU跌价非常快的),这样总内存带宽更大,而总的PCI-E lanes数量也更高,很多场合有更好的性能。

内存条插满?

有个用户他准备插4片Tesla V100,内存是插满12根16GB的好,还是插6根32GB的好?

一般来说是是16G × 12好, 因为可以尽量利用所有的内存通道。只有6条的话,可能插不满2个U的所有通道的,而且插的时候还需要技巧,同样6条内存可能插出来高低不同的内存带宽的。但如果你插12条,16条,24条这种, 往往可以都插满, 此时无所谓插入的顺序的(例如是连续插入,还是隔着一条或者2条插入?), 都插满省心点。

只上少量的几条内存的话,因为你插的不好,有的通道利用了,有的内存通道没有利用,然后用户就会抱怨说,怎么同样配置的机器,我这个内存慢这么多。

我们曾经遇到一个用户,很大的图像,就插了单通道的内存,我们当时说,你们这算法卡访存的,你不妨先再添加插一个通道的内存,看看性能变化。

良心的厂商给尽量高性能的配置,无良的商家给你能点亮就不管了。

硬盘要做RAID么?

这要看主板的支持情况,和用户需要高性能,还是高稳定性了。 对于没有raid卡的主板,显然凉拌。而对于有raid卡的板子(不管是独立插卡还是集成的硬件卡), 则需要考虑raid卡支持的硬盘类型了。普通raid卡往往只支持SATA的硬盘和SSD。而好点的raid卡支持SAS的硬盘和SSD。

用户想高性能最好用后者,两块SSD做raid 0. 高可靠性我建议使用两块SAS机械硬盘。 此外,还应当考虑主板有无NVME硬盘的插卡地方。对io性能要求很高的,建议上nvme的ssd。

买的机器多的,或者一个小集群规模的,建议总是上专门的存储节点/网络(例如NAS或者SAN之类的),本地则可以用一两块SSD做数据临时目录之类的存储用途。其他数据全部放在存储节点上。

基本上就这些了

本文分享自微信公众号 - 吉浦迅科技(gpusolution),作者:WhoseAI

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

原始发表时间:2019-12-04

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

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 深度学习GPU卡鄙视链,你在第几层?

    目前在售的NVIDIA Volta架构中Tesla V100处于深度学习GPU专业卡的最顶端位置!拥有5120个CUDA核心、640个Tensor辅助核心,核心...

    GPUS Lady
  • NVIDIA发布Maxwell架构的Tesla M40/M4.Tesla M60/M6

    NVIDIA 发布了新的Maxwell架构的Tesla卡,分别是Tesla M40,Tesla M4,Tesla M60,Tesla M6。 ?

    GPUS Lady
  • 风辰:市场对异构并行计算领域人才的需求很大

    GPU世界:这次非常感谢风辰大神能来到GPU世界来做专访。之前就听说风辰已经活跃于OpenGPU等专业的并行计算社区,对于并行计算领域也从事了好多年,在此是否能...

    GPUS Lady
  • 数据库选型:多核还是多线程?

    数据库选型,是用多核主机还是多线程主机?我是否可以用比较便宜的单核超线程(Hyper-Threading,HT)的机器,来替代双核非HT的机器? 回答这个问题,...

    数据和云
  • Java中创建多少线程才是合适的?

    大家都知道多线程可以提高程序整体执行效率,但是为什么多线程可以执行效率呢?线程是越多越好吗?如何估算线程数以使程序执行吞吐量达到最优呢?

    程序员小强
  • 你应该知道的关于 CPU 的一些基本知识~

    当程序要执行的部分被装载到内存后,CPU要从内存中取出指令,然后指令解码(以便知道类型和操作数,简单的理解为CPU要知道这是什么指令),然后执行该指令。再然后取...

    用户6543014
  • 关于CPU的一些基本知识总结

    1、程序的运行过程,实际上是程序涉及到的、未涉及到的一大堆的指令的执行过程。 当程序要执行的部分被装载到内存后,CPU要从内存中取出指令,然后指令解码(以便知道...

    用户5807183
  • 关于 CPU 的一些基本知识总结

    1、程序的运行过程,实际上是程序涉及到的、未涉及到的一大堆的指令的执行过程。 当程序要执行的部分被装载到内存后,CPU要从内存中取出指令,然后指令解码(以便知道...

    芋道源码
  • 如何在CVM上监控CPU的使用情况

    内存量,缓存大小,读取和写入磁盘的速度以及处理能力的速度和可用性都是影响基础架构性能的关键因素。在本教程中,我们将重点介绍CPU监控概念以及警报策略。我们将介绍...

    独钓寒江雪_Ly
  • Nginx配置详解

    公众号php_pachong

扫码关注云+社区

领取腾讯云代金券