又是“拼装货”?英伟达 800 亿晶体管核弹 GPU 芯片架构深入解读

编者注: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 的整体结构拆解

NVIDIA Hopper 架构 H100 芯片接纳台积电 4nm 工艺(N4 是台积电 N5 工艺的优化版),芯片面积为 814 平方毫米(比 A100 小 14 平方毫米)。

▲ 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 支撑

Hopper 架构的新一代流式多处分器引入了 FP8 张量焦点(Tensor Core)来加快 AI 练习和推理。FP8 张量焦点支撑 FP32 和 FP16 累加器,以及两种 FP8 输入范例(E4M3 和 E5M2)。

▲ 流式多处分器 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。)

▲ FP8 具备 FP16 或 BF162 2 倍吞吐量

每个 SM 通过应用 4 个分外函数单元(Special Function Unit,SFU)单元举行逾越函数和插值函数计较。

03. Hopper 的张量焦点与 Transformer 引擎

在 GPU 中,张量焦点是用于矩阵乘法和矩阵累加 (Matrix Multiply-Accumulate,MMA) 数学运算的专用高机能计较焦点,可为 AI 和 HPC 应用程序提供突破性的机能加快。

张量焦点是 GPU 中做 AI 加快的环节模块,也是 Ampere 及以后 GPU 架构与早期 GPU 的显著差别所在。

Hopper 的张量焦点支撑 FP8、FP16、BF16、TF32、FP64 和 INT8 MMA 数据范例。这一代张量焦点的环节点是引入了 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. 张量存储加快器与异步执行

Hopper 架构中新增加了张量存储加快器 (Tensor Memory Accelerator,TMA) ,以进步张量焦点与全局存储和互鉴存储的数据互换服从。

在这一新的 TMA 操纵中,应用张量维度和块坐标设定命据传输,而不是简单的按数据地点干脆寻址。TMA 通过支撑差别的张量结构(1D-5D 张量)、差别的存储走访模式、显著低落了寻址开支并进步了服从。

也即是说,本来是一个一个的捡豆子(数据),当今的技巧即是一碗一碗的舀豆子。如许的计划,是不是越来越靠近 DSA 的寻址方法?

▲ TMA 的块坐标寻址方法

固然,TMA 操纵是异步的,多个线程可以互鉴数据通道,排序实现数据传输。

TMA 的一个环节上风是它可以在举行数据复制的时候,开释线程的算力来执行其余工作。

比方,在 A100 上,由线程本身负责生成全部地点执行全部数据复制操纵。但在 Hopper 中,TMA 来负责生成地点序列(这个思绪相似 DMA 掌握器),回收数据复制使命,让线程去做其余事。

▲ Hopper 架构的 H100 的基于 TMA 的存储复制服从更高

05. 结语:GPU 走向平台专用化

全体而言,基于 Hopper 架构的 H100 计较机能比 Ampere 架构的 A100 进步了大概 6 倍。

机能大幅晋升的焦点缘故在于引入 FP8 后的张量焦点和针对 NLP 使命的 Transformer 引擎,特别是 TMA 技术削减了 SM 单元在数据复制时的无勤奋。

从计划哲学上看,针对数据中心的 Hopper 架构中 DSA(Domain Specific Architecture,特定平台架构)的年头越来越多,且流多处分器间的协作变多。大概老黄也觉得,GPU 应朝着平台专用化的偏向去开展。

今年公布 Hopper 架构比较 Ampere 架构有较多的微观进步,有望老黄下次能给我们带来更多的技术欣喜。

您可能还会对下面的文章感兴趣: