深度学习用什么卡比较给力?—— 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
深度学习用什么卡比较给力?—— A100/H100真的么有RTX4090好吗?的更多相关文章
- 深度学习主机环境配置: Ubuntu16.04 + GeForce GTX 1070 + CUDA8.0 + cuDNN5.1 + TensorFlow
深度学习主机环境配置: Ubuntu16.04 + GeForce GTX 1070 + CUDA8.0 + cuDNN5.1 + TensorFlow 最近在公司做深度学习相关的学习和实验,原来一直 ...
- Deep Learning(深度学习)相关网站
Deep Learning(深度学习) ufldl的2个教程(这个没得说,入门绝对的好教程,Ng的,逻辑清晰有练习):一 ufldl的2个教程(这个没得说,入门绝对的好教程,Ng的,逻辑清晰有练习): ...
- Deep Learning(深度学习)网络资源
Deep Learning(深度学习) ufldl的2个教程(这个没得说,入门绝对的好教程,Ng的,逻辑清晰有练习):一 ufldl的2个教程(这个没得说,入门绝对的好教程,Ng的,逻辑清晰有练习): ...
- 【OCR技术系列之四】基于深度学习的文字识别(3755个汉字)
上一篇提到文字数据集的合成,现在我们手头上已经得到了3755个汉字(一级字库)的印刷体图像数据集,我们可以利用它们进行接下来的3755个汉字的识别系统的搭建.用深度学习做文字识别,用的网络当然是CNN ...
- 让AI简单且强大:深度学习引擎OneFlow技术实践
本文内容节选自由msup主办的第七届TOP100summit,北京一流科技有限公司首席科学家袁进辉(老师木)分享的<让AI简单且强大:深度学习引擎OneFlow背后的技术实践>实录. 北京 ...
- 深度学习(十) GoogleNet
GoogLeNet Incepetion V1 这是GoogLeNet的最早版本,出现在2014年的<Going deeper with convolutions>.之所以名为“GoogL ...
- 【OCR技术系列之四】基于深度学习的文字识别
上一篇提到文字数据集的合成,现在我们手头上已经得到了3755个汉字(一级字库)的印刷体图像数据集,我们可以利用它们进行接下来的3755个汉字的识别系统的搭建.用深度学习做文字识别,用的网络当然是CNN ...
- NVIDIA数据中心深度学习产品性能
NVIDIA数据中心深度学习产品性能 在现实世界的应用程序中部署AI,需要训练网络以指定的精度融合.这是测试AI系统的最佳方法-准备将其部署在现场,因为网络随后可以提供有意义的结果(例如,对视频流正确 ...
- NVIDIA TensorRT高性能深度学习推理
NVIDIA TensorRT高性能深度学习推理 NVIDIA TensorRT 是用于高性能深度学习推理的 SDK.此 SDK 包含深度学习推理优化器和运行时环境,可为深度学习推理应用提供低延迟和高 ...
- [源码解析] 深度学习分布式训练框架 horovod (20) --- Elastic Training Operator
[源码解析] 深度学习分布式训练框架 horovod (20) --- Elastic Training Operator 目录 [源码解析] 深度学习分布式训练框架 horovod (20) --- ...
随机推荐
- n. Elasticsearch JAVA API操作
引言 Elasticsearch所支持的客户端连接方式有两种 Transport 连接 底层使用socket连接,用官方提供的TransPort客户端,网络IO框架使用的是netty Http连接(R ...
- 在线IP归属地查询工具
在线IP地址归属地查询工具,通过该工具可以查询指定IP的物理地址或域名服务器的IP和物理地址,及所在国家或城市IP归属地,数据为纯真IP. 在线IP归属地查询工具
- 在线SQL格式化工具推荐
在线SQL格式化工具,一键美化.整理您的SQL代码,支持多种数据库语法格式化.有效提升代码可读性,方便团队协作与快速定位问题,是开发人员必备的SQL编程助手,让复杂查询更清晰,更易于维护. 在线SQL ...
- 何时/如何使用 std::enable_shared_from_this<T>?
要点回顾 继承自 std::enable_shared_from_this<T> 的类能够在其自身实例中通过 std::shared_from_this 方法创建一个指向自己的 std:: ...
- Linux 增加 swap 分区
检查当前swap分区 [root@localhost ~]# free -g total used free shared buffers cached Mem: 15 0 14 0 0 0 -/+ ...
- 一款开源、免费、现代化风格的WPF UI控件库 - ModernWpf
前言 今天大姚给大家分享一款开源(MIT License).免费.现代化风格的WPF UI控件库:ModernWpf. 项目介绍 ModernWpf是一个开源项目,它为 WPF 提供了一组现代化的控件 ...
- python重拾第九天-进程、线程、协程
本节内容 操作系统发展史介绍 进程.与线程区别 python GIL全局解释器锁 线程 语法 join 线程锁之Lock\Rlock\信号量 将线程变为守护进程 Event事件 queue队列 生产者 ...
- python重拾基础第一天
本节内容 Python介绍 发展史 Python 2 or 3? 安装 Hello World程序 变量 用户输入 模块初识 .pyc是个什么鬼? 数据类型初识 数据运算 表达式if ...else语 ...
- Linux 内核:RCU机制与使用
Linux 内核:RCU机制与使用 背景 学习Linux源码的时候,发现很多熟悉的数据结构多了__rcu后缀,因此了解了一下这些内容. 介绍 RCU(Read-Copy Update)是数据同步的一种 ...
- 『vulnhub系列』HACKABLE-II
『vulnhub系列』HACKABLE-II 下载地址: https://www.vulnhub.com/entry/hackable-ii,711/ 信息搜集: 使用nmap探测存活主机,发现主机开 ...