近日看到这么一个帖子:

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

深度学习用什么卡比较给力?—— A100/H100真的么有RTX4090好吗?的更多相关文章

  1. 深度学习主机环境配置: Ubuntu16.04 + GeForce GTX 1070 + CUDA8.0 + cuDNN5.1 + TensorFlow

    深度学习主机环境配置: Ubuntu16.04 + GeForce GTX 1070 + CUDA8.0 + cuDNN5.1 + TensorFlow 最近在公司做深度学习相关的学习和实验,原来一直 ...

  2. Deep Learning(深度学习)相关网站

    Deep Learning(深度学习) ufldl的2个教程(这个没得说,入门绝对的好教程,Ng的,逻辑清晰有练习):一 ufldl的2个教程(这个没得说,入门绝对的好教程,Ng的,逻辑清晰有练习): ...

  3. Deep Learning(深度学习)网络资源

    Deep Learning(深度学习) ufldl的2个教程(这个没得说,入门绝对的好教程,Ng的,逻辑清晰有练习):一 ufldl的2个教程(这个没得说,入门绝对的好教程,Ng的,逻辑清晰有练习): ...

  4. 【OCR技术系列之四】基于深度学习的文字识别(3755个汉字)

    上一篇提到文字数据集的合成,现在我们手头上已经得到了3755个汉字(一级字库)的印刷体图像数据集,我们可以利用它们进行接下来的3755个汉字的识别系统的搭建.用深度学习做文字识别,用的网络当然是CNN ...

  5. 让AI简单且强大:深度学习引擎OneFlow技术实践

    本文内容节选自由msup主办的第七届TOP100summit,北京一流科技有限公司首席科学家袁进辉(老师木)分享的<让AI简单且强大:深度学习引擎OneFlow背后的技术实践>实录. 北京 ...

  6. 深度学习(十) GoogleNet

    GoogLeNet Incepetion V1 这是GoogLeNet的最早版本,出现在2014年的<Going deeper with convolutions>.之所以名为“GoogL ...

  7. 【OCR技术系列之四】基于深度学习的文字识别

    上一篇提到文字数据集的合成,现在我们手头上已经得到了3755个汉字(一级字库)的印刷体图像数据集,我们可以利用它们进行接下来的3755个汉字的识别系统的搭建.用深度学习做文字识别,用的网络当然是CNN ...

  8. NVIDIA数据中心深度学习产品性能

    NVIDIA数据中心深度学习产品性能 在现实世界的应用程序中部署AI,需要训练网络以指定的精度融合.这是测试AI系统的最佳方法-准备将其部署在现场,因为网络随后可以提供有意义的结果(例如,对视频流正确 ...

  9. NVIDIA TensorRT高性能深度学习推理

    NVIDIA TensorRT高性能深度学习推理 NVIDIA TensorRT 是用于高性能深度学习推理的 SDK.此 SDK 包含深度学习推理优化器和运行时环境,可为深度学习推理应用提供低延迟和高 ...

  10. [源码解析] 深度学习分布式训练框架 horovod (20) --- Elastic Training Operator

    [源码解析] 深度学习分布式训练框架 horovod (20) --- Elastic Training Operator 目录 [源码解析] 深度学习分布式训练框架 horovod (20) --- ...

随机推荐

  1. 自建yum源

    自定义yum本地仓库 你不需要依赖外网的yum仓库,可能导致该仓库无法访问,下载软件失败.. 大公司,会自建yum仓库 防止出现网络问题,自建了yum仓库,本地yum仓库 你可以去阿里云上,部署一个在 ...

  2. 什么是JDBC的最佳实践?

    a.数据库资源是非常昂贵的,用完了应该尽快关闭它.Connection,   Statement,    ResultSet等JDBC对象都有close方法,调用它就好了. b.养成在代码中显式关闭掉 ...

  3. kooder安装及本地搜索git仓库代码

    kooder安装及本地搜索git仓库代码 需求背景:如果需要从Git代码仓库查询某个配置项做批量的更新替换,如果一个一个找不合适且容易遗漏,需要借助第三方工具来模糊查询来实现. 1.下载及文档地址ht ...

  4. Freertos学习:05-内核控制

    --- title: rtos-freertos-05-kernel-control date: 2020-06-22 11:10:19 categories: tags: - kernel - fr ...

  5. 通过 hexo 生成静态博客

    通过 hexo 生成静态博客 背景 在对比了很多博客网站以后,我决定开始慢慢迁移我的文章,以后有时间的话还会搭建自己的网站,目前主流的静态博客生成器有三个: jekyll, hexo, hugo. 静 ...

  6. Windows 编译 FFMpeg

    Windows 编译 FFMpeg 背景: 为了提高公司产品的质量,对FFMPEG进行优化,需要重新编译. Host :Windows-10,core-i7 MinGW :网络版 pkg-config ...

  7. STM32 CubeMX 学习:001-GPIO的使用

    背景 在上一讲STM32 CubeMX 学习:搭建开发环境中,我们已经利用CubeMx搭建了可编译的工程. 今天就开始来介绍STM32 GPIO的有关知识,以及如何驱动它. HOST-OS : Win ...

  8. 千万别忽视基础!十张图带你一步步理解Java内存结构!

    作为一个Java程序员,在日常的开发中,不必像C/C++程序员那样,为每一个内存的分配而操心,JVM会替我们进行自动的内存分配和回收,方便我们开发.但是一旦发生内存泄漏或者内存溢出,如果对Java内存 ...

  9. tcp_tw_reuse、tcp_tw_recycle、tcp_fin_timeout参数介绍

    参数介绍 net.ipv4.tcp_tw_reuse = 1 表示开启重用.允许将TIME-WAIT sockets重新用于新的TCP连接,默认为0,表示关闭: net.ipv4.tcp_tw_rec ...

  10. 洛谷P1790

    这道题可以说也是非常有意思的数学题,并且坑点也是非常多 刚开始以为是连通块的问题,后面发现没有那么简单,因为必须要分成两个部分才行,连通块可能会分成三个部分 后面想到利用割痕来解决,以为唯一的一种分割 ...