深度学习用什么卡比较给力?—— A100/H100真的么有RTX4090好吗?
近日看到这么一个帖子:
https://www.zhihu.com/question/612568623/answer/3131709693
=================================================
类似的问题之前就写过,不该今天看到这个问题就又想再写一下,毕竟前段时间某东北沿海城市要建区级的计算中心以提供算力给周边诸个大学科研使用,而自己的师弟刚好入职就被院长安排到设备采购的活上了,也因此师弟也问了我同样的问题,这样也更加要我有兴致在这里写一下了。
其实国内的搞AI的(基本都是近几年搞深度的),好多人都是成了工程师而不是科学家,但是不论是工程师还是科学家对于一些基本原理也都知之甚少,对此我的感慨就是现在的人都是目标导向,对于很多旁支问题都不会去理睬了,而我这种”不求甚解”的人往往愿意去研究一下这里旁支问题。
这里要说的显卡分别为A100,H100,rtx4090三款显卡,首先说下单卡性能,也就是对这个三个卡进行单卡性能比较而不是多卡计算模式下进行比较:
单卡计算模式,半精度和单精度对比:
单卡计算模式,在单卡单精度方面:
准确的来说,rtx4090<A100<H100,但是rtx4090与A100之间差距不大,甚至可以近似的认为rtx4090=A100性能,而H100由于一直没有量产并且对我国禁止出口,因此对于H100的单精度性能性能只能从NVIDIA官方的公开数据中看到。根据NVIDIA官方的数据来看,在当精度方面H100的性能大致为A100的6倍,所以按照这个标准来看那就是在单精度计算方面RTX4090性能约等于A100,而H100约等于6倍的A100(不过对于H100的性能现在只能从官方宣传给出的参数来获得,这个实际性能是否能达到还需要看量产后的测评),当然这里的性能比较都是在显存充足的情况下,毕竟rtx4090的显存只有24GB。
rtx4090,24GB显存,大概1.5W人民币;
A100,40GB显存,大概5.5W人民币;
A100,80GB显存,大概7.5W人民币;
H100,80GB显存,大概24W人民币;
单卡计算模式,在单卡双精度方面:
rtx4090几乎可以被看做没有双精度计算能力,从数据上来看在双精度方面H100的性能大致为A100的3倍。
可以看到,在单卡性能比较上,H100虽然取得了对A100在单精度上6倍性能提升,双精度上3倍性能提升,但是H100的价格也达到了A100的3倍多(由于H100禁止对我国出口,因此从第三方获得H100估计要有一定的价格溢出,这样的话H100在国内的售价估计要有一定幅度的高于24W人民币),这样看在性价比上A100和H100差不多,但是考虑到新显卡的制程上的提升因此在能耗比上H100必然优于A100。
-------------------------------------------------------------
在多卡运算上还可以分为单机和多机情况:
现在最高标准的多卡主机为NVIDIA DGX A100,单机最多搭载8块A100显卡;
就如同H100还没有面世一样,下一代最高性能标准的多卡主机DGX GH200还没有面世,不过根据NVIDIA给出的数据是DGX GH200主机可以搭载256块H100显卡芯片,网上的宣传是今年年底之前会面世,虽然感觉DGX GH200是否今年年内会面向市场销售,但是也是最近几年必然会面世的。这里需要注意的是NVIDIA DGX A100单机多卡服务器依旧和我们日常用的电脑一样属于微型计算机,只不过就是性能高些而已,而DGX GH200主机则是大型机,也就是说DGX GH200主机和银河超算一样都是大型机,而大型机基本就是一台主机就要占一个房间(20到30平米的物理大小)。
单机多卡:
对于单机多卡的加速比没有一个准确的数据,因此这里只能按照个人的经验给出了。这种情况还分为PCIE通信还是nvlink通信两种,rtx4090只能进行PCIE多卡通信,A100和H100可以通过nvlink通信。PCIE通信的情况下(rtx4090显卡情况),单卡性能为基准100%,那么双卡的性能可能是(100%+90%),三卡可能是(100%+90%+80%),以此类推,8卡可能是(100%+90%+80%+70%+60%+50%+40%+30%),也就是说使用PCIE通信的情况下单机多卡的加速比要远低于线性加速比。如果使用nvlink通信(A100和H100显卡情况),单卡性能为基准100%,那么双卡的性能可能是(100%+98%),三卡可能是(100%+98%+96%),以此类推,8卡可能是(100%+98%+96%+94%+92%+90%+88%+86%),所以说单机多卡的情况下nvlink通信也会较大幅度提供性能,因此这也是A100和H100的优势,当然NVLINK通信需要额外购买设备,这也是一笔开销。
多机多卡:
没有真实数据,这里给的是个人的经验数据:
单机的基准性能为100%,双机性能(100%+90%),三机性能(100%+90%+90%),四机性能(100%+90%+90%+90%),五机性能(100%+90%+90%+90%+80%)等。
=======================================
根据上面的分析给出自己的显卡服务器配置方案:
双精度,必选A100或H100;
单机,卡数小于等于4,单精度:RTX4090;
单机,卡数大于4小于等于8,单精度:RTX4090或A100或H100,综合考虑还是RTX4090;
多机情况,参考单机时的配置;
由于价格问题只考虑RTX4090显卡情况下,如果卡数较少的需求,如4个卡,那么单主机带4个卡配置最优;如果卡数多些,如8个卡,那么双主机配置,单主机4个卡性能最优(当然这里是没有把主机的价格考虑在内);
由于一些大型企业是不考虑显卡和主机价格问题的,而且需要上千甚至上万块卡,那么就只能多机多卡,单机插排8个卡或16个卡;对于小型的企业,可以考虑使用多机形式单机4卡RTX4090,而不用使用单机A100。
如果你的计划是搞20个卡,并且是单精度,那么就搞5个主机,每个主机搞4个RTX4090,因为这个配置要比单主机nvlink插20个A100要合适的多,不过要注意的是单机多卡的编程要容易一些,而多机情况需要使用mpi,因此编码上要复杂一些。
至于要用双精度的话,那就没有选择了,只能是A100和H100了,毕竟RTX型号不太支持双精度。
总结来说,如果你的使用场景是单精度,并且卡数要求不多,20块卡,30块卡,40块卡,那么多用几个主机每个主机带4个卡,这样的配置性价比最高;如果你依旧是单精度场景,但是你需要的卡较多,几百上千甚至过万,那么就单机8卡或16卡(选择A100或H100,用nvlink通信);也就是说卡数较少的场景并且还是单精度的情况,20块卡以内那种比如16个卡,你搞4个主机,每个主机4个RTX是最便宜的。当然如果经费充足的情况下我还是建议单机把卡插满,比如8卡/16卡,用nvlink+A100这种,毕竟mpi的编程还是要麻烦一些的,多机情况要比单机情况在编程上复杂很多。
由于单机多卡还是多机多卡都会导致加速比不是线性的,但是使用nvlink的单机方式是最优的,因此有着256块显卡H100的大型机DGX GH200会是加速比最高的主机了,不过这个DGX GH200价格估计不会便宜,比较这256个显卡就快要1个亿的价格了,再加上一个大型机,总售价估计要1.5个亿起售了,并且这个大型机是绝对不会对我国出口的,如果这个主机能在我国境内出现估计美国议会都要吵翻天,到那时候看新闻联播就可以了。
===============================================================
附录:
NVIDIA DGX A100 主机配置:
源自:https://www.foresine.com/news/37-cn.html
posted on 2023-07-26 15:01 Angry_Panda 阅读(4911) 评论(0) 编辑 收藏 举报