H100 白皮书概览
H100基于NVIDIAHopperGPU架构构建,将加速云数据中心、服务器、边缘系统和工作站中的AI训练和推理、HPC以及数据分析应用。
本文将简要介绍H100、基于H100的新DGX、DGXSuperPOD和HGX系统以及基于H100的新融合加速器,然后深入探讨H100硬件架构、效率提升和新的编程功能。
概述
- 工艺:TSMC 4N
- 晶体管:800亿
- 第九代数据中心 GPU,InfiniBand互连技术的H100所提供的性能最高可达A100的30倍
- 发布时间:2022年GTC
- H100 与 Arm Grace CPU 搭配,使用NVIDIA超快速的芯片间互连技术,可提供900GB/s的带宽,比PCIe5.0快7倍
关键特性:
- 新型流式多处理器(SM)在性能和效率方面有许多改进。新的关键特性包括:
- 与A100相比,新的第四代Tensor Core的芯片间速度最高可提升6倍,包括每SM提速、额外的SM数量以及更高的H100时钟频率。基于单个SM,与上一代16位浮点选项相比,TensorCore在同等数据类型上计算MMA(矩阵乘积累加)速度是A100 SM的2倍,而在使用新的FP8数据类型时,计算速度是A100的4倍。稀疏功能利用深度学习网络中的细粒度结构化稀疏,使标准Tensor Core运算的性能提高了一倍。
- 与A100GPU相比,新的DPX指令最高可将动态编程算法的速度提升7倍。其中的两个示例包括用于基因组学处理的Smith-Waterman算法,以及在动态仓储环境中用于为机器人寻找最优路线的Floyd-Warshall算法。
- 与A100相比,IEEE FP64和FP32的芯片间处理速度可提升3倍,这是因为每个SM的时钟频率提升了2倍,此外还有额外的SM数量以及更高的H100时钟频率。
- 新的线程块簇功能允许以比单个SM上的单个线程块更大的粒度对局部性进行编程控制。这通过在编程层次结构中添加了另一个层级扩展了CUDA编程模型,现在其中包括线程、线程块、线程块簇和网格。簇支持多个线程块在多个SM上并发运行,以进行同步并以协作方式获取和交换数据。
- 新的异步执行功能包括新的Tensor Memory Accelerator(TMA)单元,此单元可以在全局显存和共享内存之间非常高效地传输大数据块。TMA还支持集群中线程块之间的异步拷贝。此外,还新增了异步事务屏障功能,用于执行原子数据移动和同步。
- 新的Transformer引擎结合了软件和定制的Hopper Tensor Core技术,专门用于加速Transformer模型的训练和推理。Transformer引擎能够智能管理并动态选择FP8和FP16计算,自动处理每层中FP8和FP16之间的重铸和缩放,与上一代A100相比,可令大型语言模型的AI训练速度最高提升9倍、AI推理速度最高提升30倍。
- 与上一代产品相比,HBM3显存子系统的带宽提升了近2倍。H100 SXM5 GPU率先采用HBM3显存,可提供3TB/s的超高显存带宽。
- 50MB二级缓存架构可缓存大量模型和数据集以便于重复访问,从而减少对HBM3的访问。
- 与A100相比,第二代多实例GPU(MIG)技术提供的计算容量大约增加了3倍,每个GPU实例的显存带宽提升了近2倍。现在首次提供具有MIG级别可信执行环境(TEE)的机密计算能力。支持多达七个单独的GPU实例,每个实例均配备专门的NVDEC和NVJPG单元。每个实例现在都包含一套性能监控器,可与NVIDIA开发工具配合使用。
- 新的机密计算支持可保护用户数据,抵御硬件和软件攻击,并能更好地隔离和保护虚拟化及MIG环境中的虚拟机(VM)。H100是全球首款支持原生机密计算的GPU,并能够以PCIe全线速搭配CPU扩展可信执行环境。
- 与上一代NVLink相比,第四代NVIDIA NVLink®可将全局归约操作的带宽提升3倍,通用带宽提升50%,同时多GPU O的总带宽为900GB/s,是PCIe5.0的7倍。
- 第三代NVSwitch技术包括位于节点内部和外部的交换机,用于连接服务器、集群和数据中心环境中的多个GPU。节点内的每个NVSwitch具有64个第四代NVLink链路端口,可加速多GPU连接。交换机总吞吐量从上一代的7.2Tb/s提升到13.6Tb/s。新的第三代NVSwitch技术还通过组播和NVIDIASHARP在网计算,为集合运算提供硬件加速。
- 新的NVLinkSwitch系统互连技术和基于第三代NVSwitch技术的新的二级NVLink交换机引入了地址空间隔离和保护,使多达32个节点或256个GPU能够以2:1收敛比在胖树拓扑架构中通过NVLink进行连接。这些连接的节点能够提供57.6TB/s的多对多带宽,并可以提供惊人的1exaFLOPFP8稀疏AI计算性能。
- PCIe5.0的总带宽为128GB/s(每个方向64GB/s),而PCIe4.0的总带宽为64GB/s(每个方向32GB/s)。PCIe5.0支持H100与超高性能的x86CPU和智能网卡/DPU(数据处理器)交互。
基于 NVIDIA GPU 加速的数据中心
如要加速数据中心中的推理工作负载,则需要使用灵活且有弹性的基础架构,这样的基础架构可以横向扩展并能充分利用所有可用的计算资源。采用多实例GPU(MIG)等新技术,NVIDIA解决方案的独特之处就是加速推理工作负载(例如图像识别、推荐系统和自然语言处理),提供应用AI所需的超高吞吐量和实时响应能力。
- H100 SXM5 GPU:HGX H100服务器主板可提供4GPU和8GPU配置。4GPU配置包含GPU之间的P2PNVLink连接,并能提高服务器中的CPU与GPU的比率,而8GPU配置包含NVSwitch,可在任意一对GPU之间提供SHARP在网计算和900GB/s的完整NVLink带宽。
- H100 PCIe 5.0 GPU:选择使用NVLink桥接器以600GB/s的带宽连接最多两个GPU,该带宽几乎是PCIe 5.0的5倍。在排名前10的数据分析、AI和HPC应用中,单个H100PCIeGPU可高效提供达到H100SXM5GPU65%的性能,同时功耗仅为50%。
- DGX H100 和 DGX SuperPOD:DGXH100配备BlueField-3、NDR InfiniBand和第二代MIG技术。单个DGXH100系统可提供独一无二的16 petaFLOPS FP16稀疏AI计算性能。通过将多个DGX H100连接到集群中,如DGX POD或DGX SuperPOD,可以轻松扩展这种性能。DGX SuperPOD至少可支持32个DGX H100系统(称为“可扩展单元”),集成了256个H100 GPU,这些GPU通过基于第三代NVSwitch技术的新的二级NVLink交换机连接,可提供出色的1 exaFLOP FP8稀疏AI计算性能。DGX H100 SuperPOD可同时支持InfiniBand和NVLINK交换机网络选项。
- HGX H100:NVIDIA HGX H100™利用NVLink和NVSwitch驱动的高速互联技术将多个H100 GPU结合起来,可打造出功能超强的垂直扩展式服务器。以集成主板的形式提供4个或8个H100 GPU配置。4 GPU配置的HGX H100在GPU之间提供完全互连的P2P NVLink连接,而8 GPU配置通过NVSwitch提供完整的GPU到GPU带宽。8路HGX H100利用H100多精度Tensor Core的强大功能,通过稀疏FP8运算可实现超过32 petaFLOP的深度学习计算性能。
- H100 CNX 融合加速器:NVIDIA H100 CNX结合了NVIDIA H100 GPU的强大功能和NVIDIA® ConnectX-7智能网卡的高级网络功能,最高可提供400Gb/s的带宽,并包含NVIDIA ASAP2(加速交换和数据包处理)以及用于TLS/IPsec/MACsec加密/解密的在线硬件加速等创新功能。
架构深度解析
第二代可靠 MIG
在基于 NVIDIA Ampere 架构的 A100 GPU 中,NVIDIA 引入了 **GPU 多实例技术 (MIG)**。
MIG 技术为共享同一 GPU 硬件的多个用户,提供相互独立、完全隔离且安全的 GPU 实例,这已成为扩展云服务提供商(CSP)数据中心的一项极其重要的功能。
回顾
MIG 技术支持将每个A100或H100GPU(H100 SXM5和H100 PCIe版本)划分为最多7个GPU实例,以优化GPU利用率,并且MIG技术为不同的客户端(例如虚拟机、容器和进程)之间提供定义明确的QoS和隔离机制。MIG对拥有多租户用例的云服务提供商尤其有价值,该技术可确保一个客户端不会影响其他客户端的工作或调度,以此为客户提供更强的安全性并让GPU利用率得到保证。
MIG技术的一个特性是能对vGPU(虚拟GPU)虚拟机(VM)配置进行管理、调整、维护和负载均衡。这一重要特性,使得vGPU可以在单个GPU上的不同GPU实例之间迁移,以及在集群中不同GPU之间迁移,后者在实际情况中更频繁发生。每个GPU实例都有跨越整个内存系统的独立且隔离路径:片内交叉开关端口、二级缓存库、显存控制器和DRAM地址总线,上述所有资源都会单独地分配给每个实例。这确保单个用户的计算任务能在可预测的吞吐量和延迟下运行,即使其他任务造成其自身缓存抖动或其DRAM接口饱和情况下,也能实现相同的二级缓存分配和DRAM带宽分配。
(有关基本 MIG 技术的更多详细信息,请参阅 NVIDIA A100 Tensor Core GPU 白皮书 P44。)
H100 MIG 增强功能
与A100相比,H100中的全新第二代MIG技术为每个GPU实例提供了约4倍的计算能力和近3倍的显存带宽。
通过硬件层和虚拟化层的加密计算功能,MIG技术可以将最多7个GPU实例彼此安全隔离(请参阅后文安全增强和机密计算部分,了解有关机密计算的更多详细信息)。
下图展示了CPU和GPU如何协同为共享单个GPU的多名用户提供多个可信执行环境(TEE)的系统配置示例。CPU提供了多个带有NVIDIA安全驱动的可信安全VM。此示例中的H100 GPU分为4个安全MIG实例。CPU和GPU之间会进行加密传输。GPU硬件虚拟化由PCIe SR-IOV负责实现,其中每个MIG实例拥有一个虚拟函数(VF)。机密性和数据完整性基于多个硬件的安全功能实现,显存的隔离通过硬件的防火墙机制实现。
Hopper架构现在还允许为每个GPU实例提供专用的图像和视频解码器,以在共享基础架构上实现安全、高吞吐量的智能视频分析(IVA)系统。每个MIG实例至少可接收一个NVDEC和NVJPG单元。
H100 MIG实例现在还拥有各自的性能监控功能,这些性能监控功能可与NVIDIA开发者工具配合使用。借助Hopper架构的并发分析,管理员可以监控合理分配后GPU的加速情况,同时可以无缝地优化多个用户之间的资源分配方式。
PCIe5.0
H100采用PCI Express 5.0 x 16的通道接口,可提供128GB/s的总带宽(每个方向64GB/s),相较而言,A100的PCIe4.0的总带宽为64GB/s(每个方向32GB/s)。
H100可借助PCIe5.0接口与性能超强的x86 CPU和SmartNIC/DPU(数据处理器)进行交互。H100可以与NVIDIA BlueField-3 DPU实现最优连接,并可以借助400Gb/s以太网或NDR(下一代数据速率)400Gb/s InfiniBand网络加速,来提升安全的高性能计算和AI计算负载。
H100新增了对原生PCIe原子操作(如为32位和64位数据类型添加atomic CAS、原子交换和原子访存)的支持,从而可加速CPU和GPU之间的同步和原子操作。H100还支持单根输入/输出虚拟化(SR-IOV),支持多个进程或虚拟机(VM)共享和虚拟化单个PCIe连接的GPU。H100还支持单个SR-IOV PCIe连接的GPU中的虚拟函数(VF)或物理函数(PF)通过NVLink访问同等GPU。
安全增强和机密计算
NVIDIA向安全敏感型市场出售的GPU正在与日俱增。云服务提供商(CSP)、汽车制造商、国家实验室、医疗健康、金融以及许多其他行业和组织都需要高度的安全性。每一代新的NVIDIAGPU都会持续改进安全性。
H100可提供一系列其他安全功能,以做到保护用户数据,抵御软硬件攻击,并在虚拟化和MIG环境中更好地隔离VM,保护VM免受攻击。NVIDIA H100 GPU全面的安全功能的主要目标包括:
- 数据保护和隔离:防止未经授权的实体访问其他用户的数据,其中实体可以是用户、操作系统、服务器虚拟化平台或GPU固件。
- 内容保护:防止未经授权的实体访问由GPU存储或处理中的受保护内容。
- 物理损坏保护:防止对GPU造成物理损坏,无论是恶意行为者造成,还是偶然造成,均可预防。
Nvidia CC
“机密计算”一词的正式定义为“通过在基于硬件的可信执行环境(TEE)中执行计算来保护使用中的数据”。该定义与数据的使用位置无关,无论是在云端、最终用户设备或其之间的任一位置使用,均不会影响其定义。数据通常在存储状态和网络传输的过程中受到保护,但在使用中不受操作系统/服务器虚拟化平台的保护。这就需要信任操作系统/服务器虚拟化平台,而这也因此在保护用户数据和代码方面留下了很大的漏洞。此外,对使用中的数据和代码进行保护的能力在传统计算基础设施中非常有限。对于处理敏感数据——例如个人身份信息(PII)、财务和健康数据——或需要满足数据本地化法规要求的企业组织,他们需要规避针对其应用、模型和数据各个阶段的保密性和完整性方面的威胁。
现有的机密计算解决方案均基于CPU构建而成,对于AI和HPC等计算密集型工作负载来说,这些解决方案速度太慢。基于CPU的机密计算通常会降低系统性能,这可能会影响工作效率或无法在延迟敏感型数据处理工作负载中加以实现。
H100将加速计算引入机密计算领域,并将CPU的可信执行环境扩展到GPU。H100使得许多过去无法使用共享基础架构(云、托管、边缘)的用例成为可能,这些用例需要保护使用中的数据和代码,以前的机密计算解决方案在性能和灵活性方面都有所欠缺。
NVIDIA机密计算创建了基于硬件的可信执行环境(TEE),用于保护并隔离在单个H100 GPU、节点内多个H100 GPU或单个安全的多实例GPU(MIG)实例上运行的整个工作负载。可信执行环境(TEE)在GPU上的机密VM与CPU中的机密VM之间建立起安全通道。TEE提供两种操作模式。
- 将整个GPU分配给单个VM(单个VM可能同时获配多个GPU)。
- 对NVIDIA H100 GPU进行分区,并借助MIG技术支持多个VM,从而实现多租户机密计算。GPU加速应用可以保持不变运行在TEE内,且不必对其进行手动分区。
用户可以将适用于AI和HPC的NVIDIA软件的强大功能与NVIDIA机密计算提供的硬件信任根的安全性相结合,从而在最底层的GPU架构层级提供安全性和数据保护。用户可以在共享或远程基础设施上运行和验证应用,以确保任何未经授权的实体(包括服务器虚拟化平台、主机操作系统、系统管理员、基础架构所有者或任何具有物理访问权限的人员)在TEE内使用应用代码和数据时,均不能对其进行查看或修改。
Hopper架构的机密计算功能可进一步提高并加速联合学习等多方协作计算用例的安全性。联合学习支持多家企业组织协同训练或评估AI模型,且无需共享每个组的专有数据集。使用H100进行的机密联合学习可确保在每个参与站点保护数据和AI模型免遭未经授权的访问,避免外部或内部威胁,且每个站点均可了解和验证同伴处运行的软件。这可增强安全协作的信心、推动医学研究的进步、加快药物开发、减少保险和金融欺诈等等,其应用十分广泛,同时保持安全性、隐私性和监管合规性。
虽然在GPU中提供机密计算功能涉及到许多组件,但其中一个更重要的功能是进行安全可靠的引导,具体内容如下所述。
成功衡量标准
NVIDIA Ampere GPU架构虽已采用安全启动技术,但不支持实现机密计算合规所需要的测量启动。我们简单讨论一下H100中实施的安全和测量启动的概念和组成部分。
安全启动是一系列硬件和软件系统技术,可确保GPU在已知安全状态下启动,在GPU启动时只允许运行经过身份验证的固件和NVIDIA所编写与审查过的微码。测量启动过程会收集、安全存储和报告启动过程的特征,这些特征可用于确定GPU是否处于安全状态。认证和验证是通过比较测量值和参考值来确保设备处于预期安全状态。NVIDIA提供证明人、参考值和背书签名。
部署工作流程利用通过测量启动提供的测量值,与NVIDIA或服务提供商所提供的参考值进行比较,以确定系统是否处于就绪和安全状态,从而开始处理客户数据。系统验证完毕后,客户可以启动应用,就像在非机密计算环境中运行这些应用一样。
CC 实现概述
左侧NVIDIA CC关闭图代表传统PC架构,其中主机操作系统和服务器虚拟化平台具有GPU等设备的全部访问权限。右侧NVIDIA CC开启图显示VM与其他单元完全隔离。
VM TEE和GPU TEE完全隔离,形成机密计算环境,是通过基于硬件的强大安全保护功能实现的,其中包括前面已提及部分内容的三个关键要素:
- 裸片上硬件信任根(RoT) - 在操作系统与GPU通信之前,GPU使用RoT确保设备上运行的固件是可靠的,并且未被设备所有者(CSP等)篡改。
- 设备认证 - 在启用机密计算时,帮助用户确保与其通信的NVIDIA GPU是可靠的,并且GPU的安全状态是已知可信的安全状态(包括固件和硬件配置)。
- AES-GCM 256 – CPU和H100 GPU之间的数据传输通过AES 256-GCM硬件实现以PCIe线速进行加密/解密。此实现通过仅供CPU和GPU TEE使用的密钥,确保跨总线传输数据的机密性和完整性。此加密实现将通过FIPS 140-32级认证。
请注意,无需更改CUDA应用代码,即可使用NVIDIA机密计算技术。