800亿晶体管核弹GPU架构深入解读,又是“拼装货”?
来源:芯东西发布时间:2022-03-25779浏览
询问 AI
编者注:NVIDIA在3月23日公布基于全新Hopper架构的GPU H100,其多种精度下的AI性能达到上一代A100的3~6倍。NVIDIA如何做到如此大幅的性能升级?Hopper架构有何玄机?千芯科技董事长陈巍博士对此加以解读。在2022年3月NVIDIA GTC大会上,NVIDIA创始人兼CEO黄仁勋介绍了一款基于全新Hopper架构的H100 GPU,这是英伟达迄今用于加速人工智能(AI)、高性能计算(HPC)和数据分析等任务的最强GPU芯片。
▲Hopper架构H100 GPU的主要升级
Hopper架构以计算科学的先驱Grace Hopper的姓氏命名。黄教主称:“Hopper H100是有史以来最大的代际飞跃。H100具有800亿个晶体管,在性能上堪称NVIDIA的“新核弹”。那么,“新核弹”的核心是什么样的?本文将深入解读和分析Hopper架构。▲Hopper架构的H100与前几代GPU性能对比
注:Grace Hopper博士是哈佛Mark 1的首批程序员,被誉为编译语言之母。据称她发现了计算机程序中的第一个Bug,同时也创造了计算机世界最大的Bug——千年虫。01.Hopper的整体结构拆解▲H100 Tensor Core GPU的性能规格
Hopper架构可以视为由两组对称结构拼接而成。(是不是有点类似我们之前介绍的苹果UltraFusion架构的拼接思路?不过这里的GPU还是单片的。回顾苹果UltraFusion架构可参见《苹果芯片“拼装”的秘方,在专利里找到了》文章。)在顶层拓扑上,Hopper似乎与她的前辈Ampere架构差别不大。图中的Hopper架构GPU由8个图形处理集群(Graphics Processing Cluster,GPC)“拼接”组成。▲Hopper架构基本结构
外周与多组HBM3封装在一起(Chiplet技术),形成整个芯片模组——从模组上看又是个“拼装货”。片上的每个GPC又由9个纹理处理集群 (Texture Processor Cluster,TPC)“拼接”组成。由PCIe5或SMX接口进入的计算任务,通过带有多实例GPU(Multi-Instance GPU,MIG)控制的GigaThread引擎分配给各个GPC。GPC之间通过L2缓存共享中间数据,GPC计算的中间数据通过NVLink与其他GPU连接/交换。每个TPC由2个流式多处理器(Streaming Multiprocessor,SM)组成。Hopper架构的性能提升和主要变化体现在新型线程块集群技术和新一代的流式多处理器(具有第4代张量核心)。▲线程块集群和带有集群的网格
Hopper架构中引入了一种新的线程块集群机制,该机制可以跨SM单元进行协同计算。H100 中的线程块集群可在同一GPC内的大量SM并发运行,这样对较大的模型具有更好的加速能力。02.新一代流式多处理器SM与FP8支持
▲流式多处理器SM
与FP16或BF16相比,FP8将数据存储要求减半,吞吐量翻倍。我们在Transformer引擎的分析中还会看到使用FP8可自适应地提升Transformer的计算速度。每个SM包括128个FP32 CUDA核心、4个第4代张量核心(Tensor Core)。进入SM单元的指令首先存入L1指令缓存(L1 Instruction Cache),然后再分发到L0指令缓存(L1 Instruction Cache)。与L0缓存配套的线程束排序器(Wrap Scheduler)和调度单元(Dispatch Unit)来为CUDA核心和张量核心分配计算任务。(注:GPU中最小的硬件计算执行单位是线程束,简称Warp。)03.Hopper的张量核心与Transformer引擎
▲H100 FP16 Tensor Core的吞吐量是A100 FP16 Tensor Core的3倍
Transformer算子是主流的BERT到GPT-3等NLP模型的基础,且越来越多地应用于计算机视觉、蛋白质结构预测等不同领域。与上一代A100相比,新的Transformer引擎与Hopper FP8张量核心相结合,在大型NLP模型上提供高达9倍的AI训练速度和30倍的AI推理速度。▲新的Transformer引擎动态调整数据格式以充分运用算力
为了提升Transformer的计算效率,在这一新的Transformer引擎中使用了混合精度,在计算过程中智能地管理计算精度,在Transformer计算的每一层,根据下一层神经网络层及所需的精度,在FP8和其他浮点格式中进行动态格式转换,充分运用张量核心的算力。04.张量存储加速器与异步执行
▲TMA的块坐标寻址方式
当然,TMA操作是异步的,多个线程可以共享数据通道,排序完成数据传输。TMA的一个关键优势是它可以在进行数据复制的时候,释放线程的算力来执行其他工作。例如,在A100上,由线程本身负责生成所有地址执行所有数据复制操作。但在Hopper中,TMA来负责生成地址序列(这个思路类似DMA控制器),接管数据复制任务,让线程去做其他事。▲Hopper架构的H100的基于TMA的存储复制效率更高
05.结语:GPU走向领域专用化
新闻来源:芯东西,文中所述为作者独立观点,不代表icspec立场。更多精彩资讯请下载icspec App。如对本稿件有异议,请联系微信客服specltkj。
