NVIDIA深度架构

NVIDIA深度架构

本文介绍A100 GPU,NVIDIA Ampere架构GPU的重要新功能。 

现代云数据中心中运行的计算密集型应用程序的多样性推动了NVIDIA GPU加速的云计算的爆炸式增长。此类密集型应用程序包括AI深度学习(DL)训练和推理,数据分析,科学计算,基因组学,边缘视频分析和5G服务,图形渲染,云游戏等。从扩展的AI训练和科学计算,到扩展的推理应用程序,再到支持实时对话式AI,NVIDIA GPU提供了必要的功能,加速当今云数据中心中运行的众多复杂且不可预测的工作负载。

NVIDIA GPU是推动AI革命的领先计算引擎,为AI训练和推理算力提供了极大的提速。此外,NVIDIA GPU加速了许多类型的HPC和数据分析应用程序和系统,能够有效地分析,可视化数据并将其转化为战略分析。NVIDIA加速计算平台对于许多世界上最重要,增长最快的行业至关重要。

推出NVIDIA A100 Tensor Core GPU

NVIDIA A100 Tensor Core GPU基于新的NVIDIA Ampere GPU架构,基于先前的NVIDIA Tesla V100 GPU的功能构建。增加了许多新功能,显着提高了HPC,AI和数据分析工作负载的性能。 

A100为在单GPU工作站和多GPU工作站,服务器,集群,云数据中心,边缘系统和超级计算机中运行的GPU计算和DL应用程序提供了强大的扩展能力。A100 GPU支持构建弹性,多功能和高吞吐量的数据中心。

A100 GPU包括革命性的新型多实例GPU(MIG)虚拟化和GPU分区功能,特别有利于云服务提供商(CSP)。当配置为MIG操作时,A100允许CSP提高其GPU服务器的利用率,无需额外成本,即可提供多达7倍的GPU实例。强大的故障隔离功能使他们可以安全,安全地对单个A100 GPU进行分区。

A100添加了功能强大的新型第三代Tensor Core,可在V100之上提高吞吐量,增加了对DL和HPC数据类型的全面支持,以及新的Sparsity功能,将吞吐量进一步提高一倍。 

A100中的新TensorFloat-32(TF32)Tensor Core操作提供了一条简单的路径,加速DL框架和HPC中的FP32输入/输出数据,运行速度比V100 FP32 FMA操作快10倍,具有稀疏性则快20倍。对于FP16 / FP32混合精度DL,A100 Tensor Core的性能是V100的2.5倍,而稀疏性则提高到5倍。 

新的Bfloat16(BF16)/ FP32混合精度Tensor Core操作以与FP16 / FP32混合精度相同的速率运行。Tensor Core加速了INT8,INT4和二进制,全面支持DL推理,其中A100稀疏INT8的运行速度比V100 INT8快20倍。对于HPC,A100 Tensor Core包括新的符合IEEE标准的FP64处理,处理能力是V100的FP64的2.5倍。 

NVIDIA A100 GPU的架构不仅可以加速大型复杂工作负载,可以有效地加速许多较小的工作负载。A100使建筑数据中心能够适应无法预测的工作负载需求,提供细粒度的工作负载供应,更高的GPU利用率和改进的TCO。 

NVIDIA A100 GPU提供了超过V100的超速提速,用于AI训练和推理工作负载。

主要特征

基于NVIDIA Ampere架构的GA100 GPU在台积电7nm N7制造工艺上制造,为A100提供动力,包括542亿个晶体管,管芯尺寸为826 mm2。 

A100 GPU流式多处理器 

基于NVIDIA Ampere架构的A100 Tensor Core GPU中的新流式多处理器(SM)大大提高了性能,基于Volta和Turing SM架构中引入的功能,增加了许多新功能。 

A100第三代Tensor内核增强了操作数共享,提高了效率,添加了功能强大的新数据类型,其中包括:

  • TF32 Tensor Core指令可加速FP32数据的处理
  • 适用于HPC的IEEE兼容FP64 Tensor Core指令
  • BF16 Tensor Core指令的吞吐量与FP16相同 

峰值FP64 

9.7 TFLOPS

峰值FP64 Tensor Core 

19.5 TFLOPS

峰值FP32 

19.5 TFLOPS

峰值FP16 

78 TFLOPS

高峰BF16 

39 TFLOPS

峰值TF32 Tensor Core 

156 TFLOPS | 312 TFLOPS 

峰值FP16 Tensor Core 

312 TFLOPS | 624 TFLOPS 

峰值BF16张量核心

312 TFLOPS | 624 TFLOPS 

峰值INT8张量核心

624 TOPS | 1,248 TOPS 

峰值INT4张量核心

1,248 TOPS | 2,496 TOPS 

表1. A100 Tensor Core GPU性能规格
1)峰值速率基于GPU增强时钟。
2)使用新的稀疏性功,能实现有效的TFLOPS / TOPS。

 

A100 Tensor Core中的新稀疏支持,可以利用DL网络中的细粒度结构稀疏性来使Tensor Core操作的吞吐量增加一倍。 

与V100相比,A100中更大,更快的L1高速缓存和共享内存单元提供了每SM聚合容量的1.5倍(192 KB对比每个SM 128 KB),从而为许多HPC和AI工作负载提供了额外的加速。 

几个新的SM功能提高了效率和可编程性,降低了软件复杂性。

40 GB HBM2和40 MB L2缓存

为了满足其巨大的计算吞吐量,NVIDIA A100 GPU拥有40 GB的高速HBM2内存,具有一流的1555 GB /秒的内存带宽,与Tesla V100相比增加了73%。此外,A100 GPU拥有更多的片上内存,其中包括40 MB的2级(L2)缓存-比V100大7倍-以最大化计算性能。借助新的分区交叉开关结构,A100 L2缓存提供了V100的L2缓存读取带宽的2.3倍。 

为了优化容量利用率,NVIDIA Ampere体系结构提供了L2缓存驻留控件,管理要保留或从缓存中逐出的数据。A100还增加了计算数据压缩功能,使DRAM带宽和L2带宽最多增加4倍,L2容量最多增加2倍。 

多实例GPU

全新的多实例GPU(MIG)功能,使A100 Tensor Core GPU可以安全地划分为多达七个用于CUDA应用程序的独立GPU实例,从而为多个用户提供独立的GPU资源以加速其应用程序。 

使用MIG,每个实例的处理器都具有贯穿整个内存系统的单独且隔离的路径。片上交叉开关端口,L2缓存库,存储器控制器和DRAM地址总线,唯一地分配给单个实例。确保单个用户的工作负载,预测吞吐量和延迟运行,具有相同的二级缓存分配和DRAM带宽,即使其它任务正在破坏自己的缓存,或使DRAM接口饱和也一样。

MIG在提供定义的QoS和在不同客户端(例如VM,容器和进程)之间提供隔离的同时,提高了GPU硬件利用率。MIG对于具有多租户用例的CSP尤其有利。除了提供增强的安全性,为客户提供GPU利用率保证之外,确保一个客户端不会影响其他客户端的工作或日程安排。 

第三代NVIDIA NVLink

在A100 GPU中实现的第三代NVIDIA高速NVLink互连和新的NVIDIA NVSwitch大大增强了多GPU的可扩展性,性能和可靠性。通过每个GPU和交换机的更多链接,新的NVLink提供了更高的GPU-GPU通信带宽,改善了错误检测和恢复功能。 

第三代NVLink每对信号的数据速率为50 Gbit / sec,几乎是V100中25.78 Gbit / sec速率的两倍。单个A100 NVLink与V100相似,在每个方向上可提供25 GB /秒的带宽,与V100相比,每个链接仅使用一半的信号对数量。A100中的链接总数从V100中的6条增加到12条,总带宽为600 GB /秒,而V100为300 GB /秒。 

支持NVIDIA Magnum IO和Mellanox互连解决方案

A100 Tensor Core GPU与NVIDIA Magnum IO和Mellanox最新的InfiniBand和以太网互连解决方案完全兼容,加速多节点连接。 

Magnum IO API集成了计算,网络,文件系统和存储,​​可为多GPU,多节点加速系统最大化I / O性能。与CUDA-X库接口,加速从AI和数据分析到可视化的各种工作负载的I / O。

具有SR-IOV的PCIe Gen 4

A100 GPU支持PCI Express Gen 4(PCIe Gen 4),通过提供31.5 GB /秒的速度(相对于x16连接的15.75 GB /秒),使PCIe 3.0 / 3.1的带宽增加了一倍。更快的速度对于连接到支持PCIe 4.0的CPU的A100 GPU以及支持快速网络接口(例如200 Gbit / sec InfiniBand)特别有利。 

A100还支持单根输入/输出虚拟化(SR-IOV),从而可以为多个进程或VM共享和虚拟化单个PCIe连接。

改进的错误和故障检测,隔离和控制

通过检测,包含并经常纠正错误和故障,而不是强制GPU重置,最大化GPU的正常运行时间和可用性至关重要。在大型多GPU群集和单GPU多租户环境(例如MIG配置)中尤其如此。A100 Tensor Core GPU包括改进错误/故障归因,隔离和控制的新技术。

异步复制 

A100 GPU包含一个新的异步复制指令,可将数据直接从全局内存加载到SM共享内存中,而无需使用中间寄存器文件(RF)。异步复制减少了寄存器文件的带宽,更有效地使用了内存带宽,降低了功耗。顾名思义,异步复制可以在SM执行其它计算时在后台完成。

异步屏障

A100 GPU在共享内存中提供了硬件加速的障碍。这些屏障可使用CUDA 11以符合ISO C ++的屏障对象的形式使用。异步屏障将屏障到达和等待操作分开,可用于通过SM中的计算,将异步副本从全局内存重叠到共享内存中。可用于使用CUDA线程来实现生产者-消费者模型。屏障还提供了以不同的粒度(不仅仅是扭曲或块级别)同步CUDA线程的机制。

任务图加速

CUDA任务图为将工作提交到GPU提供了更有效的模型。任务图由依赖关系连接的一系列操作(例如内存副本和内核启动)组成。任务图启用了一次定义和重复运行的执行流程。预定义的任务图允许在一次操作中启动任意数量的内核,从而大大提高了应用程序的效率和性能。A100添加了新的硬件功能,以使任务图中的网格之间的路径显着加快。 

A100 GPU硬件架构

NVIDIA GA100 GPU由多个GPU处理群集(GPC),纹理处理群集(TPC),流式多处理器(SM)和HBM2内存控制器组成。

GA100 GPU的完整实现包括以下单元:

  • 每个完整GPU 8个GPC,8个TPC / GPC,2个SM / TPC,16个SM / GPC,128个SM
  • 每个完整GPU 64个FP32 CUDA内核/ SM,8192个FP32 CUDA内核
  • 每个完整GPU 4个第三代Tensor核心/ SM,512个第三代Tensor核心 
  • 6个HBM2堆栈,12个512位内存控制器 

GA100 GPU的A100 Tensor Core GPU实现包括以下单元:

  • 7个GPC,7个或8个TPC / GPC,2个SM / TPC,最多16个SM / GPC,108个SM
  • 每个GPU 64个FP32 CUDA内核/ SM,6912​​个FP32 CUDA内核
  • 每个GPU 4个第三代Tensor内核/ SM,432个第三代Tensor内核 
  • 5个HBM2堆栈,10个512位内存控制器

具有128个SM的完整GA100 GPU。A100基于GA100,具有108个SM。 

A100 SM架构

新的A100 SM大大提高了性能,建立在Volta和Turing SM体系结构中引入的功能的基础上,增加了许多新功能和增强功能。 

A100 SM图如图5所示。Volta和Turing每个SM具有八个Tensor核心,每个Tensor核心每个时钟执行64个FP16 / FP32混合精度融合乘加(FMA)操作。A100 SM包括新的第三代Tensor内核,每个内核每个时钟执行256个FP16 / FP32 FMA操作。A100每个SM有四个Tensor内核,每个时钟总共可提供1024个密集的FP16 / FP32 FMA操作,与Volta和Turing相比,每个SM的计算能力提高了2倍。 

SM的主要功能在此处简要描述:

  • 第三代Tensor核心:
  • 加速所有数据类型,包括FP16,BF16,TF32,FP64,INT8,INT4和二进制。
  • 新的Tensor Core稀疏功能利用深度学习网络中的细粒度结构稀疏性,使标准Tensor Core操作的性能提高了一倍。
  • A100中的TF32 Tensor Core操作提供了一条简单的路径来加速DL框架和HPC中的FP32输入/输出数据,运行速度比V100 FP32 FMA操作快10倍,而具有稀疏性时则快20倍。
  • FP16 / FP32混合精度Tensor Core操作为DL提供了空前的处理能力,运行速度比V100 Tensor Core操作快2.5倍,稀疏性提高到5倍。
  • BF16 / FP32混合精度Tensor Core操作以与FP16 / FP32混合精度相同的速率运行。
  • FP64 Tensor Core操作为HPC提供了前所未有的双精度处理能力,运行速度是V100 FP64 DFMA操作的2.5倍。
  • 具有稀疏性的INT8 Tensor Core操作为DL推理提供了空前的处理能力,运行速度比V100 INT8操作快20倍。
  • 192 KB的共享共享内存和L1数据高速缓存,比V100 SM大1.5倍。
  • 新的异步复制指令将数据直接从全局内存加载到共享内存中,可以选择绕过L1缓存,不需要使用中间寄存器文件(RF)。
  • 与新的异步复制指令一起使用的新的基于共享内存的屏障单元(异步屏障)。
  • L2缓存管理和驻留控制的新说明。
  • CUDA合作小组支持新的线程级减少指令。
  • 许多可编程性方面的改进,以减少软件的复杂性。 

图6比较了V100和A100 FP16 Tensor Core操作,还比较了V100 FP32,FP64和INT8标准操作与相应的A100 TF32,FP64和INT8 Tensor Core操作。吞吐量是每个GPU的总和,其中A100使用针对FP16,TF32和INT8的稀疏Tensor Core操作。左上方的图显示了两个V100 FP16 Tensor核心,因为一个V100 SM每个SM分区有两个Tensor核心,而A100 SM一个。

 

 

 图6.针对不同数据类型的A100 Tensor Core操作与V100 Tensor Core和标准操作的比较。

 

 

 图7. TensorFloat-32(TF32)为FP32的范围提供了FP16的精度(左)。A100使用TF32加速张量数学运算,同时支持FP32输入和输出数据(右),从而可以轻松集成到DL和HPC程序中并自动加速DL框架。

 用于AI训练的默认数学是FP32,没有张量核心加速。NVIDIA Ampere架构引入了对TF32的新支持,使AI训练默认情况下可以使用张量内核,无需用户方面的努力。非张量运算继续使用FP32数据路径,TF32张量内核读取FP32数据并使用与FP32相同的范围,内部精度降低,再生成标准IEEE FP32输出。TF32包含一个8位指数(与FP32相同),10位尾数(与FP16相同的精度)和1个符号位。

与Volta一样,自动混合精度(AMP)可以将FP16与混合精度一起用于AI训练,只需几行代码更改即可。使用AMP,A100的Tensor Core性能比TF32快2倍。

总而言之,用于DL训练的NVIDIA Ampere架构数学的用户选择如下:

  • 默认情况下,使用TF32 Tensor Core,不调整用户脚本。与A100上的FP32相比,吞吐量高达8倍,而与V100上的FP32相比,吞吐量高达10倍。
  • FP16或BF16混合精度训练应用于最大训练速度。与TF32相比,吞吐量高达2倍,与A100上的FP32相比,吞吐量高达16倍,与V100上的FP32相比,吞吐量高达20倍。

A100 Tensor核心可加速HPC 

HPC应用程序的性能需求正在迅速增长。众多科学研究领域的许多应用程序都依赖于双精度(FP64)计算。 

为了满足HPC计算的快速增长的计算需求,A100 GPU支持Tensor操作,加速符合IEEE的FP64计算,提供的FP64性能是NVIDIA Tesla V100 GPU的2.5倍。

A100上新的双精度矩阵乘法加法指令,替换了V100上的八条DFMA指令,减少了指令提取,调度开销,寄存器读取,数据路径功率和共享存储器读取带宽。

A100中的每个SM总共计算64个FP64 FMA操作/时钟(或128个FP64操作/时钟),这是Tesla V100吞吐量的两倍。具有108个SM的A100 Tensor Core GPU的FP64峰值吞吐量为19.5 TFLOPS,是Tesla V100的2.5倍。

借助对这些新格式的支持,A100 Tensor Core可用于加速HPC工作负载,迭代求解器和各种新的AI算法。

 

 

 

V100

A100

A100稀疏度1 

A100加速

A100稀疏加速

A100 FP16和 V100 FP16 

31.4 TFLOPS

78 TFLOPS

不适用

2.5倍

不适用

A100 FP16 TC和 V100 FP16 TC

125 TFLOPS

312 TFLOPS

624 TFLOPS

2.5倍

5倍

A100 BF16 TC和V100 FP16 TC

125 TFLOPS

312 TFLOPS

624 TFLOPS

2.5倍

5倍

A100 FP32和 V100 FP32

15.7 TFLOPS

19.5 TFLOPS

不适用

1.25倍

不适用

A100 TF32 TC和 V100 FP32 

15.7 TFLOPS

156 TFLOPS

312 TFLOPS

10倍

20倍

A100 FP64和 V100 FP64

7.8 TFLOPS

9.7 TFLOPS

不适用

1.25倍

不适用

A100 FP64 TC和 V100 FP64

7.8 TFLOPS

19.5 TFLOPS

不适用

2.5倍

不适用

A100 INT8 TC与 V100 INT8

62 TOPS

624 TOPS

1248 TOPS

10倍

20倍

A100 INT4 TC

不适用

1248 TOPS

2496 TOPS

不适用

不适用

A100二进制TC

不适用

4992 TOPS

不适用

不适用

不适用

 

表2. A100在V100上的提速(TC = Tensor Core,GPU以各自的时钟速度)。
1)使用新的稀疏功能实现有效的TOPS / TFLOPS

 A100引入了细粒度的结构化稀疏性 

借助A100 GPU,NVIDIA引入了细粒度的结构稀疏性,这是一种新颖的方法,可将深度神经网络的计算吞吐量提高一倍。 

深度学习中可能会出现稀疏性,各个权重的重要性会在学习过程中演变,网络训练结束时,只有权重的一个子集在确定学习的输出时获得了有意义的目的。不再需要其余的权重。

细粒度的结构化稀疏性,对允许的稀疏性模式施加了约束,使硬件更有效地执行输入操作数的必要对齐。由于深度学习网络能够在训练过程中根据训练反馈调整权重,NVIDIA工程师通常发现结构约束不会影响训练网络进行推理的准确性,可以推断出具有稀疏性的加速。

对于训练加速,需要在过程的早期引入稀疏性,提供性能优势,在不损失准确性的情况下,进行训练加速的方法是一个活跃的研究领域。

稀疏矩阵定义

通过新的2:4稀疏矩阵定义强制执行结构,在每个四项向量中允许两个非零值。A100在行上支持2:4的结构化稀疏性,如图9所示。 

由于矩阵的定义明确,可以对其进行有效压缩,将内存存储量和带宽减少近2倍。 

 

 

 图9. A100细粒度的结构化稀疏修剪训练了权重,其中有2选4的非零模式,然后是用于微调非零权重的简单通用配方。权重经过压缩,可将数据占用空间和带宽减少2倍,而A100稀疏Tensor Core通过跳过零,将数学吞吐量提高了一倍。

 NVIDIA开发了一种简单而通用的配方,用于使用这种2:4结构化的稀疏模式,稀疏深度神经网络以进行推理。使用密集权重对网络进行训练,应用细粒度的结构化修剪,使用其它训练步骤,对剩余的非零权重进行微调。基于跨视觉,对象检测,分割,自然语言建模和翻译的数十个网络的评估,几乎不会导致推理准确性的损失。  

 A100 Tensor Core GPU包括新的Sparse Tensor Core指令,跳过具有零值的条目的计算,从而使Tensor Core计算吞吐量翻倍。图9示出了张量核心是如何使用压缩元数据(非零索引),配合适当选择激活压缩权重,输入到张量核心点积计算。

结合了L1数据缓存和共享内存

NVIDIA在L1数据高速缓存和共享内存子系统体系结构,首次引入NVIDIA Tesla V100,显着提高性能的同时,简化了编程并减少了达到或接近峰值应用程序性能所需的调整。将数据缓存和共享内存功能组合到单个内存块中,可为两种类型的内存访问提供最佳的整体性能。 

L1数据高速缓存和共享内存的总容量,在A100中为192 KB / SM,在V100中为128 KB / SM。 

同时执行FP32和INT32操作

与V100和Turing GPU相似,A100 SM包括独立的FP32和INT32内核,全吞吐量同时执行FP32和INT32操作,提高了指令发布的吞吐量。

许多应用程序具有执行指针算术(整数存储器地址计算)和浮点计算相结合的内部循环,得益于同时执行FP32和INT32指令。流水线循环的每个迭代,都可以更新地址(INT32指针算术),并为下一个迭代加载数据,在FP32中处理当前迭代。

A100 HBM2 DRAM子系统 

随着HPC,AI和分析数据集的不断增长,寻找解决方案的问题变得越来越复杂,必须具有更大的GPU内存容量和更高的内存带宽。

Tesla P100是世界上第一个支持高带宽HBM2内存技术的GPU架构, Tesla V100提供了更快,更高效和更高容量的HBM2实现。A100再次提高了HBM2的性能和容量标准。 

HBM2内存由与GPU处于同一物理封装上的内存堆栈组成,与传统的GDDR5 / 6内存设计相比,可节省大量功率和面积,从而可在系统中安装更多GPU。

A100 GPU的SXM4型电路板上包括40 GB的快速HBM2 DRAM内存。存储器被组织为五个活动HBM2堆栈,每个堆栈具有八个内存管芯。A100 HBM2的数据速率为1215 MHz(DDR),提供1555 GB /秒的内存带宽,比V100内存带宽高1.7倍以上。 

ECC内存弹性

A100 HBM2内存子系统,支持单错误纠正双错误检测(SECDED)错误纠正代码(ECC),保护数据。ECC为对数据损坏敏感的计算应用程序,提供了更高的可靠性。在GPU处理大型数据集,或长时间运行应用程序的大规模集群计算环境中,这一点尤其重要。A100中的其它关键存储器结构也受到SECDED ECC的保护,包括L2缓存和L1缓存以及所有SM内的寄存器文件。

A100 L2快取

A100 GPU包含40 MB的L2缓存,比V100 L2缓存大6.7倍.L2缓存分为两个分区,实现更高的带宽和更低的延迟内存访问。每个L2分区都将本地化和缓存数据,供直接连接到该分区的GPC中的SM进行内存访问。这种结构使A100的L2带宽增加了V100的2.3倍。硬件缓存一致性在整个GPU上维护CUDA编程模型,应用程序会自动利用新L2缓存的带宽和延迟优势。

L2缓存是GPC和SM的共享资源,位于GPC之外。A100 L2缓存大小的大幅增加显着改善了许多HPC和AI工作负载的性能,可以缓存数据集和模型的大部分并以比读取和写入HBM2内存更高的速度,重复访问这些数据集和模型。受DRAM带宽限制的某些工作负载,受益于更大的L2缓存,例如使用小批量的深度神经网络。 

为了优化容量利用率,NVIDIA Ampere体系结构提供了L2缓存驻留控件,管理要保留或从缓存中逐出的数据。可以预留一部分L2缓存用于持久性数据访问。

例如,对于DL推理工作负载,乒乓缓冲区可以持久地缓存在L2中,实现更快的数据访问,同时还避免了回写到DRAM。对于生产者-消费者链,例如在DL训练中发现的链,L2缓存控件可以优化跨写到读数据依赖项的缓存。在LSTM网络中,循环权重可以优先在L2中缓存和重用。

NVIDIA Ampere体系结构增加了计算数据压缩功能,加速非结构化稀疏性和其他可压缩数据模式。L2中的压缩功能使DRAM读/写带宽提高了4倍,L2读带宽提高了4倍,L2容量提高了2倍。 

 

数据中心GPU

 

NVIDIA Tesla P100

NVIDIA Tesla V100

NVIDIA A100

GPU代号

GP100

GV100

GA100

GPU架构

NVIDIA Pascal

NVIDIA Volta

NVIDIA安培

GPU板尺寸 

SXM

SXM2

SXM4

短信

56

80

108

TPC

28岁

40

54

FP32核心/ SM

64

64

64

FP32核心/ GPU

3584

5120

6912

FP64核心/ SM

32

32

32

FP64核心/ GPU

1792

2560

3456

INT32内核/ SM

不适用

64

64

INT32核心/ GPU

不适用

5120

6912

张量芯/ SM

不适用

8

2

张量核心/ GPU

不适用

640

432

GPU加速时钟

1480兆赫

1530兆赫

1410兆赫

FP16的峰值FP16张量TFLOPS累计1

不适用

125

312/624 3

带有FP32的FP16峰值Tensor TFLOPS累加1

不适用

125

312/624 3

带FP32的BF16张量TFLOPS峰值累加1

不适用

不适用

312/624 3

峰值TF32张量TFLOPS 1

不适用

不适用

156/312 3

峰值FP64 Tensor TFLOPS 1

不适用

不适用

19.5

峰值INT8张量TOPS 1

不适用

不适用

624/1248 3

峰值INT4张量TOPS 1

不适用

不适用

1248/2496 3

峰值FP16 TFLOPS 1

21.2

31.4

78

峰值BF16 TFLOPS 1

不适用

不适用

39

峰值FP32 TFLOPS 1

10.6

15.7

19.5

峰值FP64 TFLOPS 1

5.3

7.8

9.7

峰值INT32 TOPS 1,4

不适用

15.7

19.5

纹理单位

224

320

432

记忆体介面

4096位HBM2

4096位HBM2

5120位HBM2

记忆体大小

16 GB

32 GB / 16 GB

40 GB

内存数据速率

703 MHz DDR

877.5 MHz DDR

1215 MHz DDR

记忆体频宽

720 GB /秒

900 GB /秒

1555 GB /秒

L2快取大小

4096 KB

6144 KB

40960 KB

共享内存大小/ SM

64 KB

最多可配置96 KB

最多可配置164 KB

注册文件大小/ SM

256 KB

256 KB

256 KB

注册文件大小/ GPU

14336 KB

20480 KB

27648 KB

贸易发展计划

300瓦

300瓦

400瓦

晶体管

153亿

211亿

542亿

GPU晶粒尺寸

610平方毫米

815平方毫米

826平方毫米

台积电制造工艺

16纳米FinFET +

12 nm FFN

7纳米N7

 

表3. NVIDIA数据中心GPU的比较。
1)峰值速率基于GPU增强时钟。
2)A100 SM中的四个Tensor核心具有GV100 SM中八个Tensor核心的原始FMA计算能力的2倍。
3)使用新的稀疏性功能有效的TOPS / TFLOPS。
4)TOPS =基于IMAD的整数数学

 注意:由于A100 Tensor Core GPU设计,安装在高性能服务器和数据中心机架中,为AI和HPC计算工作量提供动力,因此,不包括显示连接器,用于光线追踪加速的NVIDIA RT Core或NVENC编码器。

计算能力

A100 GPU支持新的计算功能8.0。表4比较了NVIDIA GPU架构的不同计算功能的参数。

 

数据中心GPU

 

NVIDIA Tesla P100

NVIDIA Tesla V100

NVIDIA A100

GPU代号

GP100

GV100

GA100

GPU架构

NVIDIA Pascal

NVIDIA Volta

NVIDIA安培

计算能力

6.0

7.0

8.0

线/经线

32

32

32

最大翘曲度/ SM

64

64

64

最大线程数/ SM

2048

2048

2048

最大线程块/ SM

32

32

32

最多32位寄存器/ SM

65536

65536

65536

最大寄存器/块

65536

65536

65536

最大寄存器/线程

255

255

255

最大螺纹块尺寸

1024

1024

1024

FP32核心/ SM

64

64

64

SM寄存器与FP32内核的比率

1024

1024

1024

共享内存大小/ SM

64 KB

最多可配置96 KB

最多可配置164 KB

 

表4.计算能力:GP100 vs. GV100 vs. GA100。

MIG架构

尽管许多数据中心的工作量在规模和复杂性上都在继续扩展,某些加速任务的要求却不高,例如早期开发或推断小批量的简单模型。数据中心经理的目标,保持较高的资源利用率,因此,理想的数据中心加速器不仅会变大,有效地加速许多较小的工作负载。 

新的MIG功能可以将每个A100划分为多达七个GPU实例,实现最佳利用率,有效地扩展对每个用户和应用程序的访问权限。

图10显示了Volta MPS如何允许多个应用程序在单独的GPU执行资源(SM)上同时执行。但是,由于内存系统资源是在所有应用程序之间共享的,因此,如果一个应用程序对DRAM带宽有很高的要求,或者超额预订了L​​2高速缓存,应用程序可能会干扰其他应用程序。

图11中所示的A100 GPU新的MIG功能可以将单个GPU划分为多个GPU分区,称为GPU实例。每个实例的SM具有贯穿整个内存系统的单独且隔离的路径-片上交叉开关端口,L2缓存库,内存控制器和DRAM地址总线,唯一地分配给单个实例。这样可以确保单个用户的工作负载,可预测的吞吐量和延迟运行,具有相同的二级缓存分配和DRAM带宽,即使其它任务正在破坏自己的缓存或使DRAM接口饱和也是如此。

使用此功能,MIG可以对可用的GPU计算资源进行分区,为不同的客户端(例如VM,容器,进程等)提供故障隔离,提供定义的服务质量( QoS)。使多个GPU实例可以在单个物理A100 GPU上并行运行。MIG还保持CUDA编程模型不变,最大程度地减少编程工作量。

CSP可以使用MIG提高其GPU服务器的利用率,无需额外成本,即可提供多达7倍的GPU实例。MIG支持CSP所需的必要QoS和隔离保证,确保一个客户端(VM,容器,进程)不会影响另一客户端的工作或调度。 

CSP通常根据客户使用模式,对硬件进行分区。当硬件资源在运行时,提供一致的带宽,适当的隔离和良好的性能时,有效分区才有效。

借助基于NVIDIA Ampere架构的GPU,可以在其新的虚拟GPU实例上查看和调度作业,像物理GPU一样。MIG可与Linux操作系统及其管理程序一起使用。用户可以使用诸如Docker Engine之类的运行时,运行带有MIG的容器,很快将支持使用Kubernetes进行容器编排。 

 

 图10.CSP多用户节点(A100之前的版本)。加速的GPU实例仅在完全物理GPU粒度下,供不同组织中的用户使用,即使用户应用程序不需要完整的GPU也是如此。

 

 

 图11.具有MIG的CSP多用户图。来自同一组织或不同组织的多个独立用户,在单个物理GPU中分配专用,受保护和隔离的GPU实例。

错误和故障检测,隔离和控制

通过检测,包含并经常纠正错误和故障,不是强制GPU重置来提高GPU的正常运行时间和可用性至关重要。在大型,多GPU群集和单GPU,多租户环境(例如MIG配置)中尤其重要。 

NVIDIA Ampere架构A100 GPU包括新技术,可改善错误/故障归因(归因于导致错误的应用程序),隔离(隔离有故障的应用程序,不会影响在同一GPU或GPU群集中运行的其他应用程序),限制(确保一个应用程序中的错误不会泄漏并影响其他应用程序)。这些故障处理技术对于MIG环境尤其重要,确保共享单个GPU的客户端之间的适当隔离和安全性。

连接NVLink的GPU现在具有更强大的错误检测和恢复功能。远程GPU上的页面错误会通过NVLink发送回源GPU。远程访问故障通信是大型GPU计算群集的一项关键弹性功能,有助于确保一个进程或VM中的故障,不会导致其它进程或VM停机。 

A100 GPU包括其他几个新的和改进的硬件功能,可以增强应用程序性能。 

CUDA 11在NVIDIA Ampere架构GPU方面的进步 

在NVIDIA CUDA并行计算平台上构建了成千上万个GPU加速的应用程序。CUDA的灵活性和可编程性使其成为研究和部署新的DL和并行计算算法的首选平台。

NVIDIA Ampere架构GPU旨在提高GPU的可编程性和性能,降低软件复杂性。NVIDIA Ampere架构的GPU和CUDA编程模型的改进,加快程序执行速度,降低许多操作的延迟和开销。 

CUDA 11的新功能为第三代Tensor核心,稀疏性,CUDA图形,多实例GPU,L2缓存驻留控件以及NVIDIA Ampere架构,一些新功能提供了编程和API支持。  

结论

NVIDIA的使命,加速时代的达芬奇和爱因斯坦的工作。科学家,研究人员和工程师致力于使用高性能计算(HPC)和AI解决全球最重要的科学,工业和大数据挑战。 

NVIDIA A100 Tensor Core GPU,在我加速数据中心平台中实现了下一个巨大飞跃,可在任何规模上提供无与伦比的加速性能,使这些创新者能够终其一生。A100支持众多应用领域,包括HPC,基因组学,5G,渲染,深度学习,数据分析,数据科学和机器人技术。

推进当今最重要的HPC和AI应用程序-个性化医学,对话式AI和深度推荐系统-要求研究人员变得更大。A100为NVIDIA数据中心平台提供动力,包括Mellanox HDR InfiniBand,NVSwitch,NVIDIA HGX A100和Magnum IO SDK,进行扩展。这个集成的技术团队,有效地扩展到成千上万个GPU,以前所未有的速度训练最复杂的AI网络。

A100 GPU的新MIG功能,将每个A100划分为多达七个GPU加速器,实现最佳利用率,有效地提高GPU资源利用率,以及GPU对更多用户和GPU加速应用程序的访问。借助A100的多功能性,基础架构管理人员,可以最大化其数据中心中每个GPU的效用,满足从最小的工作到最大的多节点工作负载的不同规模的性能需求。 

 

posted @ 2021-04-30 11:28  吴建明wujianming  阅读(2222)  评论(0编辑  收藏  举报