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 | 4 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带宽有很高的要求,或者超额预订了L2高速缓存,应用程序可能会干扰其他应用程序。
图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的效用,满足从最小的工作到最大的多节点工作负载的不同规模的性能需求。