计算中的新通用性和新用途

2020-07-14 01:16:39

与计算相关的术语“通用”是一个不断发展的术语。按照今天的标准,过去看起来像通用的ASIC看起来像是有限的ASIC,对于GPU和FPGA也是如此,对于CPU也是如此。

有很多关于通用计算时代已经结束的说法,但我们认为更准确的说法可能是,仅使用CPU计算的时代-CPU是几十年来唯一可用的通用计算引擎-已经结束了。如果通用意味着能够运行许多不同类型的应用程序和进行许多不同类型的计算,那么一个合理的论点是,在过去的十年中,GPU和FPGA就像CPU一样“通用”。也许更多。如果NVIDIA完成了“丹佛计划”,并将ARM内核嵌入到其GPU发动机上,这无疑是真的。该计划于2011年初宣布,但几年后被取消。英特尔和Xilinx的FPGA当然也是如此,它们都嵌入了ARM内核,拥有的计算种类更多,你无法撼动两根棍子。

从第一代所谓的“通用图形处理器”或GPGPU开始,我们已经走过了很长一段路,NVIDIA早在2006年就推出了“特斯拉”G80 GPU,并在2010年通过“Fermi”GF100和GF104 GPU大幅发展,并在两年后真正推出了“开普勒”GK104和GK110 GPU。随着工作负载添加到GPU,它们变得更加通用,从原始浮点计算扩展到加速的HPC,再到加速的AI培训,最终混合了整数、浮点和矩阵数学功能。

有了“Ampere”GA100图形处理器,正如我们在发布时讨论的那样,并在随后的深入架构研究中进一步分析,NVIDIA实质上是将用于V100加速器的上一代“Volta”GV100和用于T4加速器以及GeForce卡的“图灵”GT104图形处理器所执行的工作汇聚在一起。Volta是HPC模拟和AI培训引擎,对于数据库加速和某些类型的分析工作负载(如Spark in-Memory平台)也很有用。图灵的目标是人工智能推理,以及与虚拟桌面基础设施(GPU被分割成片)、技术和艺术工作站应用程序以及游戏相关的图形。有了安培,GA100 GPU被分割成八片,可以看起来像八个下一代图灵加速器,也可以联合起来看起来像下一代Volta加速器-重要的是,这种个性选择是由用户设置的,而不是由NVIDIA为自己的SKU和利润率设定的。

在上周的ISC 2020数字超级计算大会上,NVIDIA发布了A100加速器的PCI-Express 4.0变体,如下所示:

A100的SXM变种和PCI-Express卡变种之间没有太大区别,只是SXM版本上的6个NVLink端口可以提供600 Gb/秒的带宽进出设备,而PCI-Express 4.0版本中的x16通道只能提供64 Gb/秒的带宽。公平地说,对于那些习惯于PCI-Express3.0外围设备的人来说,这两种设备看起来都很快。获得PCI-Express 4.0版本的成本也较低。当然,NVIDIA没有透露其GPU卡的价格,但我们已经与一些经销商和系统构建商合作,了解市场上新旧GPU加速器的价格。

在5月底的架构深度研究中,我们已经使用各种数据格式和NVIDIA GPU加速器的处理单元(从开普勒到安培)了解了NVIDIA GPU加速器的显著特征和性能。现在,我们来看看安培A100加速器相对于前几代产品目前的市场价格。归根结底,这始终是关于钱的,也是关于建筑的。如果你买不起,世界上所有聪明的建筑都不值多少钱。

在下表中,我们显示了过去四代GPU加速器的价格、性价比和功耗(将图灵算作自己的一代GPU加速器加上Pascal、Volta和Ampere GPU加速器就是四代)。我们可以查看很多不同的性能度量,当考虑到机器学习推理的稀疏矩阵支持时,这一点尤其正确。在此比较中,我们假设在计算每瓦特性能和每美元性能时使用各种数据格式和计算单元以及稀疏矩阵计算的最佳情况。我们也是所有比率之母,每个性能功耗比的成本,这是推动超级缩放器和云构建商架构选择的最重要、最重要的计算。

这只是我们随着时间的推移收集的有关NVIDIA服务器级GPU加速器的数据的一个子集。我们有一个大桌子,它可以一直追溯到开普勒GPU加速器,你可以在这里的一个单独的窗口中查看它,因为它远远不适合我们的列宽。这是我们在建筑部潜水时做的两张桌子的配套套装,但正如我们所说的,现在我们正在用瓦特和巴克做性能分数。

注:本文表格中显示的每瓦性能成本数字最初存在错误,现已更正。对此我深表歉意。

我们想指出的第一件事是,如果您的计算场的电费由您公司的其他部门或部门支付,那么您可能要考虑使用开普勒级别的K20、K40和K80 GPU加速器,这些加速器目前的市场价格分别为250美元、500美元和900美元一台,并且在过去八年中拥有六代GPU加速器中性价比最高的FP32和FP64。我们没有每个GPU的历史定价数据,否则我们会随着时间的推移显示性价比的提高。

我们可以说的是,自从Pascal一代以来,性能和性价比已经普遍提高,在三年前Volta时代早期的一段时间里,GPU的需求如此之高,供应如此短缺,以至于开普勒、Maxwell和Pascal GPU加速器的价值比您预期的要高得多,这是基于Volta GPU加速器在更有吸引力和更通用的方面要好得多的事实。这就是经济的运作方式,尽管供应商们尽了最大努力希望尽快将他们的旧产品扔进垃圾桶。

但最终,新产品具有如此高的性价比或性价比优势,使得旧产品不得不贬值。这终于发生在P100和V100加速器上,事实上,这两款加速器目前在SXM外形尺寸中的售价分别约为5000美元和7500美元。(你必须收回HGX主板和网络的成本才能得到基于SXM的价格,幸运的是,一些NVIDIA合作伙伴帮助我们做到了这一点。)。当你把A100 SXM从DGX A100中拿出来时,现在的市价约为1万美元-略低于2017年12月这些设备首次亮相时蓝色巨人作为其Power Systems AC922超级计算机节点的一部分收取的11,500美元。这款V100 SXM在三年内贬值了35%,因为我们认为有一段时间,由于需求,这些V100 SXM在街上的售价接近15,000美元。据我们所知,PCI-Express4.0版本的A100加速器售价将在8500美元左右。

在这张图中,有些东西立刻跃入我们的眼帘。首先,无论NVIDIA多么喜欢用于机器学习推理的T4加速器,任何必须同时进行推理和培训,并且可能还需要数据库加速和HPC工作的公司都不会购买单独的GPU进行推理。由于稀疏矩阵支持,并通过其FP32单元运行INT8数据,A100 SXM的成本为每千兆8美元,A100 PCI的成本为每千兆7美元,而T4的成本约为每千兆的四倍。在T4和A100之间,每瓦特性能也要高出4倍左右。而且T4加速器的FP64性能非常低,这使得它成为运行任何需要64位浮点的HPC或AI培训工作负载的糟糕选择,每个POP略低于4000美元。T4的每单位FP64性能的价格要高出31倍。只有在工作负载中只有最小部分是FP64的情况下,它才是一个很好的选择。

NVIDIA在安培上采用更通用的设计是有原因的,这很好地说明了这一点。

另一件有趣的事情是,Volta V100加速器,无论是PCI还是SXM变种,与它们的Pascal P100前身相比,每单位工作都有轻微的溢价。这没有什么奇怪的,但就每美元的表现而言,这是一个非常轻微的溢价。这就是令人惊讶的部分。对于INT8工作负载,基于PCI外形的基于Pascal芯片的P4和P40加速器也表现相当不错,到目前为止还没有失去它们在市场上的全部价值。在INT8工作负载方面,基于Pascal芯片的P4和P40加速器也表现得相当不错,到目前为止还没有失去市场上的所有价值。

如果您想在数据格式和Ccrating Bitness之间获得严格的性价比和灵活性,那么如果您使用TF32格式并使用稀疏矩阵支持整数运算,那么PCI版本的A100加速器现在无疑是最好的NVIDIA图形处理器。如果您的软件不支持这些,您可以使用常规的FP32,但是好处不是很大。

最后要注意的是:我们表格中显示的千兆次/瓦数字是设备级别的,而不是系统级别的。它们也是理论上的峰值性能,现在是高性能LINPACK(HPL)或其AI变体HPL-AI基准测试中的持续性能。因此,千兆次浮点每瓦的数字比你在绿色500排名上看到的要高得多,绿色500排名包括整个系统,包括网络和存储,以及它的电力和冷却。

作为安培推出的一部分,NVIDIA发布了一些HPC和AI基准,让客户了解现实世界中的应用程序在A100加速器上的性能如何,以及它们与前几代图灵和Volta产品的比较如何(视情况而定)。这里有一个高性能计算应用的市场篮子,从分子动力学(现在寻找新冠肺炎的疫苗或治疗方法尤其重要)到物理、工程和油气地震处理,不一而足。

这些只是初步测试,我们强烈怀疑,随着时间的推移,随着软件工程师接触到安培加速器并更新他们的软件,性能会变得更好。毕竟,这是有先例的。以下是2016年至2020年期间在Pascal、Volta和Ampere加速器上的一篮子HPC、AI和数据分析工作负载随时间的性能:

现在,我们认为,由于越来越多的混合精度和张量核心单位的使用,人工智能堆栈的性能改进已经更加戏剧性地提高了,并提高了班级平均水平。通过从CPU转移到GPU并使用GPUDirect等技术,HPC已经获得了很多收益,但现在张量内核上有64位处理,因此在Ampere A100加速器上的性能是普通普通FP64单元的2倍。我们最好的猜测是,上图中的HPC应用程序没有在张量内核上运行,因此软件有余地赶上软件,并将这些应用程序的性能提高一倍。因此,也许当一切都调整好了,明年这个时候,同样的A100硬件将会有15倍到20倍的改进。

在该图表中需要注意的重要一点是,在2018年和2019年,V100在硬件没有变化但软件有大量变化的情况下,性能是如何提高的。没有理由相信安培GPU中的功能最终不会像人工智能软件那样被HPC软件充分利用。风险同样很高,软件工程师也同样聪明。

这就把我们带到了人工智能本身。人工智能训练模型变得越来越复杂,算法的层次越来越多,前向和后向传播都像激光束一样反弹,然后出镜切割钢铁,这需要指数级增长的计算量。就像这样:

自然语言处理的测试比过去几年选择的基准图像处理(ResNet-50是特定测试)要复杂得多,可以选择的测试是BERT测试,它是Transformers双向编码器表示法的缩写。我们在去年8月向您介绍了Bert,当时NVIDIA将NLP定位为其下一个大型人工智能工作负载,并将推动安培GPU等设备的需求。当然,Bert是由谷歌的人工智能研究人员在2018年开发的。BERT-LARGE模型有3.4亿个参数,正在研究中,但NVIDIA的项目威震天实施的BERT已扩展到83亿个参数。RESNET-50只处理了2600万个参数来进行图像处理。哈.。

在Ampere的架构参考中,以下是NVIDIA如何将BERT性能用于NLP培训和推理:

对于BERT-LARGE模型的培训,使用NVSwitch链接的8个A100 GPU加速器并使用TF32格式的DGX A100服务器能够每秒处理1,289个序列,相比之下,在具有8个P100加速器的DGX-1服务器上,每秒可以处理216个序列,这些加速器在FP32单元中使用FP32数据操作。这只是6倍改进的一小部分。NVIDIA本可以在这里给出Volta或Turing GPU的推理号,但决定将其与数据中心最流行的推理机Intel Xeon SP CPU进行比较。在这种情况下,一对运行INT8的英特尔“Cascade Lake”Xeon SP-8280处理器与在INT8设备上启用稀疏支持的DGX A100服务器对抗。英特尔服务器可以处理58万亿次运算,而NVIDIA DGX A100服务器可以处理10万亿次运算,即172倍。(这似乎是理论上的峰值表现。)。

安培GA100 GPU发布期间显示的此图表明确介绍了BERT培训和推理,在适当的情况下将单个设备的性能与T4和V100的性能正常化:

对于BERT-LARGE训练,V100是用PyTorch编写的,使用FP32精度,而A100使用TF32精度。(这基本上与上面的数据相同。)。对于BERT-LARGE推理,T4和V100加速器使用FP16运算,而A100使用8个GPU片中的7个(它们中的任何一个当前都处于打开状态),并使用打开了稀疏支持的INT8。

NVIDIA联合创始人兼首席执行官简森·黄(Jensen Huang)表示,所有这一切的结果是,正在构建人工智能培训和推理系统的公司可以扔掉大量用于推理的CPU服务器,并将两个工作负载聚合到DGX A100系统上,然后就可以完成了。以下是他在安培发布会上给出的比率:

现在,据我们所知,由于计算密度的原因,要将DGX A100系统甚至DGX-2系统完全装满一个机架是非常非常困难的,而且正如您从NVIDIA自己的超级吊舱配置(用于其saturn-V和Selene超级计算机)中看到的那样,该公司甚至不会因为这个原因将其机架装满一半。

“DGX A100服务器可以配置为8个用于培训的GPU或56个用于推理的GPU,”黄在安培发布会上告诉我们。“所有额外的CPU、内存和电源等开销将50台服务器压缩为一台,它将能够替换一大堆不同的服务器。这将把基础设施统一成更灵活的东西,并提高其效用和预测所需容量的能力。“。

将本周的精彩内容、分析和故事直接从我们的收件箱发送到您的收件箱,中间没有任何内容。