GTC22,全新Hopper架构NVIDIA H100 GPU如何带来6倍AI运算性能提升

NVIDIA在GTC22春季展发布采用Hopper新架构的H100 GPU,并在多重软硬件改良与优化后,带来6倍于前代A100 GPU的AI运算性能提升。

在GTC22春季展的开幕演说中,NVIDIA创办人兼首席执行官黄仁勋发布了次世代采用全新Hopper架构的H100 GPU,笔者也在《NVIDIA于GTC 2022发布全新Hopper GPU架构,还可与Grace合体变身超级芯片》文中介绍了H100 GPU的规格,接下来笔者将更进一步分析Hopper的架构革新。

从硬件结构的观点出发,H100 GPU的最小组成区块为流媒体多重处理器(Streaming Multiprocessors,SM,内部具有128组FP32 CUDA核心),并由2个SM组成材质处理集群(Texture Processing Clusters,TPC)、9个TPC组成GPU处理集群(GPU Processing Clusters,GPC),而完整的H100 GPU具有8组GPC(共有144组SM),此外还有容量高达60MB的L2缓存内存与12组HBM3内存控制器(支持6组HBM3或HBM2e堆栈),并支持PCIe Gen5与NVLink等对外传输资料的总线。

Hopper架构中全新的第四代Tensor Core可以在同时脉的前提下,提供2倍于前代的稠密(Dense)或稀疏(Sparse)运算的原始性能,并具有更具效率的资料管理单元,能够节省30%的资料传输耗电。

由于AI运算的特性需要依赖大量的资料吞吐,因此对外传输带宽将对整体性能造成决定性的影响,虽然H100的PCIe Gen5能够提供128 GB/s的总带宽(单向64GB/s),但NVIDIA仍不满足于此,因此在Hopper架构导入带宽达到900GB/s的NVLink,具有7倍于PCIe Gen5的带宽,整体聚合带宽(Aggregate Bandwidth)更是比现今最快的服务器高出30倍,能为处理TB级资料量的应用程序带来10倍的整体性能表现。

黄仁勋在GTC22的访谈中提到,NVIDIA的策略是尽可能的使用PCIe总线,其优点在于每个设备都可以独立运行,其次选用的总线则是UCIe,它与PCIe类似消耗更少电力并提供更高带宽,但其应用场景为裸晶互联(Die to Die),尽管这项技术还在起步阶段,但NVIDIA仍相当看好其未来发展。

不过黄仁勋也表示UCIe仍为周边接口而无法直接深入芯片内部(UCIe cannot tap directly into the chip. It’s still a peripherals interface.),NVLink则能够几乎直接黏合2个芯片的内存系统,让它们在连接之后,本质上就像同一个芯片,虽然还是会有少许延迟与虚耗,但它们可以使用相同的程序模型(Programming Model),因此会在需要连接所有运算单元与内存的使用场景中使用NVLink。

采用Hopper新架构的H100 GPU是目前最先进的GPU与加速运单元。

H100 GPU具有Transformer Engine、DPX指令、机密运算、第二代多执行实例GPU等新功能,更多资讯可以参考本文。

H100 GPU的最小组成区块为流媒体多重处理器(SM),内部具有128组FP32 CUDA核心。

2个SM组成TPC,9个TPC组成GPC。完整的H100 GPU具有8组GPC(共有144组SM),以及60MB的L2缓存内存与12组HBM3内存控制器。

可以看到在NVLink网络高带宽优势的协助下,能够有效提升H100的AI训练性能。

Hopper架构的一大特色就是支持全新的FP8资料类型,它采用8个位元来记录浮点数,并支持E5M2、E4M3等模式,其资料格式如下:

E5M2:1个位元记录正负号,5个位元记录指数(Exponent,表示次方数),2个位元记录尾数(Mantissa,表示数字资料)。适合动态范围较大且较不要求精确度的资料

E4M3:1个位元记录正负号,4个位元记录指数,3个位元记录尾数。适合需要更高精确度但动态范围较小的资料

虽然FP8会牺牲少许运算的精确度,但与FP16或BF16等资料类型相比,可以将资料的容量减半,不但更节省内存空间,也能让资料吞吐量翻倍。

为了要发挥FP8的优势,全新的Transformer Engine运算引擎能够以对运算框架透明的方式支持FP8资料类型(简单地说就是不需修改程序,也可以享有FP8的加速效果。用户可手动设置激活、停用FP8资料类型),发挥在进行自然语言处理时,将网络速度提高6倍又不失其精度。

另一方面,全新的DPX指令的动态规划(Dynamic Programming)功能也对整体运算性能有极大帮助,它的2大核心功能为递归(Recursion)与备忘(Memoization),前者能将复杂的问题拆分为多个简单的子问题,从而节省运算的工作量与时间,至于后者则会将会被重复使用多次的子问题答案存储起来,以便往后直接查找答案并略过运算。

NVIDIA表示DPX指令能够提升多种算法的执行效率,针对包括路线优化、基因组学等应用,与使用传统处理器(CPU)相比甚至能将执行速度加快达40倍之谱。

综合各项改善,将H100与前代A100相比,H100的SM数量提升带来1.2倍性能增益、Tensor Core性能提升带来2倍性能增益、Transformer Engine带来2倍性能增益、运行时脉提升带来1.3倍性能增益等多重改良下,H100能在特定应用场景下带来6倍于A100的运算性能。

FP8资料类型可分为E5M2、E4M3等模式,可以提升AI运算性能,分别适合动态范围较大且较不要求精确度,以及需要更高精确度但动态范围较小的资料。

H100在本身运算架构提升与FP8资料类型的协助下,与前代A100相比能够提升6倍Tensor Core资料吞吐量。

H100与A100在各种不同资料类型的运算性能对照表,可以看到同类型下H100有1.5~3.2倍的性能,而H100搭配全新的FP8可以带来较A100搭配FP16达6.4倍的性能表现。

DPX指令所支持的动态规划功能,在路线优化应用中能带来40倍于处理器的运算性能。

在SM数量提升、Tensor Core性能提升、Transformer Engine、运行时脉提升等多重改良下,H100能在特定应用场景下带来6倍于A100的运算性能。

H100 GPU的另一大特色笔者在先前也曾提到,就是它具有相当大的使用弹性与扩展性,从最基本的SXM模块版本与H100 PCIe Gen 5 GPU运算卡,到集成Connectx-7网络芯片的H100 CNX运算卡,并有HGX H100服务器、DGX H100计算机、DGX SuperPOD超级计算机,通过不同的组态来满足用户多样的应用需求。

想要更深入了解Hopper架构的读者,可以下载NVIDIA提供的Hopper架构白皮书(PDF,7.5MB)。