CUDA编程模型都改了!英伟达架构师团队撰文详解:Hopper为啥这么牛?

2022-04-06 11:40:58 浏览数 (1)


新智元报道  

编辑:LRS

【新智元导读】最近老黄掏出的显卡核弹Hopper H100可谓是风头无两,性能全面碾压老前辈。但除了800亿晶体管,Hopper架构也是完全重新设计的,一起看看架构里面还有啥细节?

在英伟达GTC 2022大会上,老黄更新了服役近两年的安培微架构(Ampere),推出Hopper架构,并抛出一块专为超算设计、包含800亿个晶体管的显卡Hopper H100,比老前辈A100显卡的540亿晶体管还要高出不少。

但光看名字和参数还不够,Hopper到底牛在哪?

最近英伟达的架构开发师们发布了一篇博客,深入讲解和分析了Hopper架构。文章作者包括英伟达首席GPU架构师Michael Andersch,GPU架构组杰出工程师Greg Palmer和Ronny Krashinsky,英伟达高级技术营销总监Nick Stam,高级开发技术工程师Vishal Mehta等核心开发成员。

Hopper牛在哪?

Hopper架构的名字来自Grace Hopper女士,她被誉为计算机软件工程第一夫人、编译语言COBOL之母,她是耶鲁大学第一位数学女博士、世界上第三位程序员、全球首个编译器的发明者,也是第一位发现「bug」的人。

基于Hopper架构的英伟达Hopper H100张量核心GPU已经是第九代数据中心GPU了,相比上一代安培架构的A100 GPU,Hopper架构明显强悍了很多,不仅晶体管数量有明显提升,制作工艺也从7纳米提升到4纳米,为大规模AI和HPC提供了一个数量级的性能飞跃。

同时H100继承了A100的主要设计重点,提升了对AI和HPC工作负载的扩展能力,并在架构效率方面进行了大幅改进。

对于当今的主流人工智能和高性能计算模型,带有InfiniBand互连的H100可提供比A100强30倍的性能。

并且新的NVLink Switch System在针对一些大型计算工作负载任务,比如需要在多个GPU加速节点上进行模型并行化时,能够通过互联调整负载,可以再次提高性能。在某些情况下,性能能够在使用InfiniBand的H100基础上再增加两倍。

可以说H100 GPU专为高性能计算和超大规模AI模型加速而生,AI模型的推理速度少说也能提升10倍。

Hopper芯片利用了Arm架构的灵活性,是一个完全重新设计、专为加速计算而设计的CPU和服务器架构。H100能够与英伟达Grace CPU搭配,借助超快英伟达chip-to-chip互联,可以提供高达900GB/s的总带宽,比PCIe Gen5还要快7倍。

在TB级数据的高性能计算下,和世界上最快的服务器相比,新设计能够提升10倍性能和30倍的总带宽。

开发人员总结了一个长长的H100 GPU关键新特性列表。

首先H100有一个新的流式多处理器(SM, streaming multiprocessor),性能和效率都有所提升。

新的第四代张量核心与A100相比,chip-to-chip的性能提升6倍,速度提升主要来自更快的SM,更多的SM数量,以及H100中更高的时钟频率。在每个SM上,与上一代16位浮点选项相比,Tensor Cores在同等数据类型上的MMA(矩阵乘积)计算速率是A100 SM的2倍,使用新的FP8数据类型的速率是A100的4倍。稀疏性1功能利用了深度学习网络中的细粒度结构化稀疏性,使标准张量核心操作的性能提高了一倍。

新的DPX指令对动态编程算法的加速比A100 GPU高7倍。在基因组学处理的Smith-Waterman算法,以及用于在动态仓库环境中为机器人车队寻找最佳路线的Floyd-Warshall算法上验证后,证实了性能提升。

与A100相比,IEEE FP64和FP32的处理率在芯片间快了3倍,这是由于每个SM的clock-for-clock性能快了2倍,加上H100的额外SM数量和更高的时钟。

新的线程块集群功能能够以大于单个SM上的单个线程块的颗粒度对位置性进行编程控制。扩展了CUDA编程模型,为编程层次增加了一个层次,现在包括线程、线程块、线程块集群和网格。集群使多个线程块可以在多个SM上并发运行,以同步和协作方式获取和交换数据。

分布式共享内存允许在多个SM共享内存块上进行SM到SM的直接通信,用于加载、存储和原子学。

新的异步执行功能包括一个新的张量内存加速器(TMA)单元,可以在全局内存和共享内存之间有效地传输大型数据块。TMA还支持集群中线程块之间的异步拷贝。还有一个新的异步事务屏障,用于做原子数据移动和同步。

新的Transformer引擎采用了软件和定制的英伟达Hopper Tensor Core技术的组合,专门用于加速转化器模型的训练和推理。Transformer引擎能够智能管理并动态选择FP8和16位计算,自动处理每一层中FP8和16位之间的重铸和缩放,与上一代A100相比,在大型语言模型上的AI训练速度提升了9倍,AI推理速度提升了30倍。

HBM3内存子系统比上一代增加了近2倍的带宽。H100 SXM5 GPU是世界上第一个采用HBM3内存的GPU,提供领先于同级别的3TB/秒的内存带宽。

50 MB L2 高速缓存架构缓存了大量的模型和数据集,在重复访问时减少了对HBM3的访问。

与A100相比,第二代多实例GPU(MIG)技术为每个GPU实例提供了约3倍的计算能力和近2倍的内存带宽。也是首次提供具有MIG级TEE的机密计算能力。支持多达七个独立的GPU实例,每个实例都有专用的NVDEC和NVJPG单元。每个实例都包括自己的一套性能监控器,可与NVIDIA开发人员工具一起使用。

新的机密计算(Confidential Computing)支持可以保护用户数据,抵御硬件和软件攻击,并在虚拟化和MIG环境中更好地隔离和保护虚拟机(VM)。H100实现了世界上第一个原生机密计算GPU,并以全PCIe线速向CPU扩展了可信执行环境(TEE)。

第四代NVLink在all-reduce操作上提供了3倍的带宽,比上一代NVLink增加了50%的通用带宽,多GPU IO的总带宽为900 GB/秒,操作带宽是PCIe第五代的7倍。

第三代NVSwitch技术包括驻扎在节点内部和外部的交换机,用于连接服务器、集群和数据中心环境中的多个GPU。

节点内的每个NVSwitch提供64个第四代NVLink链接端口,以加速多GPU连接。交换机的总吞吐量从上一代的7.2 Tbits/秒增加到13.6 Tbits/秒。新的第三代NVSwitch技术还为多播和NVIDIA SHARP网内还原的集体操作提供了硬件加速。

新的NVLink Switch系统互连技术和基于第三代NVSwitch技术的新的二级NVLink Switches引入了地址空间隔离和保护,使多达32个节点或256个GPU能够通过NVLink以2:1的锥形树状拓扑连接起来。

这些连接的节点能够提供57.6TB/秒的all-to-all带宽,并能够提供惊人的FP8稀疏AI计算的exaFLOP。PCIe Gen 5能够提供128GB/秒的总带宽(每个方向64GB/秒),而第四代PCIe的总带宽为64GB/秒(每个方向32GB/秒)。PCIe Gen5使H100能够与最高性能的x86 CPU和SmartNICs或数据处理单元(DPU)连接。

更多技术细节可以访问原文查看。总而言之,H100就是更快、更高、更强!(更贵)

参考资料:

https://developer.nvidia.com/blog/nvidia-hopper-architecture-in-depth/

0 人点赞