深度学习用什么卡比较给力?—— 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) --- ...
随机推荐
- sshd服务部署
sshd服务部署 软件安装修改配置文件启动使用 1.搭建所有服务的套路 关闭防火墙和selinux(实验环境都先关闭掉) 配置yum源(公网源或者本地源) 软件安装和检查 了解并修改配置文件 启动服 ...
- PMP 变更专题
在浏览器Console中输入下列对应命令 document.getElementsByTagName('video')[0].requestPictureInPicture()--进入画中画 docu ...
- Css var 简述
Css var 语法 var(custom-property-name, value) - custom-property-name 必须 变量必须以 --开头 后面可以是英文.数字连接符,区分大小写 ...
- SpringBoot3整合SpringDoc实现在线接口文档
写在前面 在现目前项目开发中,一般都是前后端分离项目.前端小姐姐负责开发前端,苦逼的我们负责后端开发 事实是一个人全干,在这过程中编写接口文档就显得尤为重要了.然而作为一个程序员,最怕的莫过于自己写文 ...
- 使用嵌套的ScriptableObject及ReorderableList创建习题持久化数据
使用嵌套的ScriptableObject及ReorderableList创建习题持久化数据 效果展示 题集持久化数据:存储题目,可以直接在inspector面板上创建对应的问题子项 问题持久化数据 ...
- vue2 实现可拖拽悬浮球
实现效果 相关代码 点击查看代码 <template> <div class="float-box"> <div class="button ...
- Vim有哪几种模式?
Vim有哪几种模式? 模式一:normal模式 作用主要是用来浏览,输入各种和在文档中移动. 模式二:编辑模式 用于对文件的编辑: 常用的插入命令: a在光标位置后编辑, i在光标位置前编辑, o在下 ...
- 如何解决jenkins插件下载过慢的问题
1.修改/var/lib/jenkins/updates目录下的default.json文件 通过sed命令将插件的下载地址替换成国内的地址: sed -i 's#http:\/\/updates.j ...
- debian12 安装ch343驱动
前言 最近心血来潮,装了一台debian12玩,安装完毕arduino后发现没有ch343驱动,倒是在 ls /lib/modules/6.1.0-13-amd64/kernel/drivers/us ...
- FFmpeg开发笔记(三十六)Linux环境安装SRS实现视频直播推流
<FFmpeg开发实战:从零基础到短视频上线>一书在第10章介绍了轻量级流媒体服务器MediaMTX,通过该工具可以测试RTSP/RTMP等流媒体协议的推拉流.不过MediaMTX的功能 ...