一文看透H100 Hopper架构的各种提升

释放双眼,带上耳机,听听看~!
本文深入介绍了H100 Hopper架构的各种提升,包括处理器核心改进、新内存系统、性能提升等内容,让读者全面了解这一最先进的GPU架构。

欢迎关注我的公众号 [极智视界],获取我的更多经验分享

大家好,我是极智视界,本文分享一下 一文看透H100 Hopper架构的各种提升。

邀您加入我的知识星球「极智视界」,星球内有超多好玩的项目实战源码和资源下载,链接:t.zsxq.com/0aiNxERDq

在 2022 年 3 月发布的 H100,应该算目前英伟达 GPU 的巅峰之作了,但仅限于目前的巅峰,下一代肯定会更强 (按 NVIDIA 的节奏,明年应该就会发布下一代)。但是就拿去年发布的 H100 和 2020 年发布的 A100,对于咱们来说,那都是一个 “遥遥领先”(还是习惯听余大嘴说这个词)。从 A100 Ampere 架构发布到现在,已经过去三年了,情况依旧如此,想想还是想当可怕的。

“以史为鉴,可以知兴替;以人为鉴,可以明得失”,对于 GPU 的最新架构,特别是 H100 的 Hopper 架构、A100 的 Ampere 架构,咱们肯定是需要去好好学习一下的。

这里就来介绍一下 H100 Hopper 架构的各种提升。

下面是 H100 的产品图,

一文看透H100 Hopper架构的各种提升

Hopper H100 采用了台积电 4nm 工艺 (A100 是 5nm),对比之下,苹果刚推出的 M3 芯片是采用了最先进的 3nm 芯片制程,所以下一代 NVIDIA GPU 会不会也采用 3nm 工艺,是值得拭目以待的。从最近外媒爆料的消息来看,英伟达的下一代 GPU,也就是代号为 Blackwell 的 B100,就是会采用台积电 3nm 制程。不过具体如何,还是待明年揭晓。

十年前,NVIDIA 推出了 Kepler GPU 架构,具有 15 个 SM;而这里的 Hopper GPU 架构,拥有 132 个 SM,在十年内实现了数量级的增长。如下图,整个 Kepler GPU 可以装在 Hopper GPU 的角落里,可以说十分形象了,

一文看透H100 Hopper架构的各种提升

Hopper H100 集成了 80 Billion (也就是 800 亿个) 的晶体管 (若后面采用 3nm 制程,集成的晶体管数量又将大增),是目前全球最为先进、性能最好的芯片。H100 有 132 个 SM,每个 SM 的性能提升是 A100 SM 的两倍,而且还更新了一些新的功能,包括采用 HBM3 的新内存系统、更大的 L2 Cache、更高的内存带宽、第二代的 MIG 多 GPU 实例系统、第四代 Nvlink & Nvlink 网络、新一代的 Tensor Core 等。

Hopper H100 对 SM 处理器核心进行了许多改进,需要深入研究一下,下面是 Hopper H100 的 SM 架构图,

一文看透H100 Hopper架构的各种提升

新的 Hopper SM 架构的改进如下:

  • 2x FP32 & FP64 FMA;==> 可以提高传统的 FP32、FP64 吞吐的时钟周期;
  • 256KB L1 Data Cache / Shared Memory;==> 比 A100 多出 33%;
  • 第四代 Tensor Core; ==> 矩阵计算性能提升了 2 倍;
  • 新的 DPX 指令集;==> 新引入的动态编程指令集;
  • 新的 Tensor Memory 加速器; ==> 高效异步数据移动;
  • 新的 Thread Block Clusters 线程层次结构;==> 在 CUDA 和线程块之间新增了 Thread Block Cluster 结构,能够更好地利用 GPU 局部性来提升算法效率,如下;

一文看透H100 Hopper架构的各种提升

Hopper H100 有 5 个 HBM3 节点,总的显存容量是 80GB,下图展示了 HBM 的发展以及性能的提升幅度。Hopper H100 在 HBM3 的加持下,不仅能够最大化峰值带宽,还可以最大化内存带宽,可以实现 3TB/s 的内存带宽,这是非常夸张的。

一文看透H100 Hopper架构的各种提升

下图是一些主流 HPC、AI 模型的性能对比,包括有 CV、NLP、LLM 模型。可以看到,在使用 InfiniBand 进行互联的时候,性能能够提升到 A100 的 2 ~ 30 倍,若考虑用 Nvlink Network 互联替代 InfiniBand,性能将会进一步提升。采用 Nvlink Network 互联,可以更有效地跨多 GPU 进行扩展,提高 GPU 间的传输带宽,从而提升整体性能。这样,采用 Nvlink 而不是 InfiniBand,对于 AI 训练来说,能够获得额外的 2~3 倍的性能提升。

一文看透H100 Hopper架构的各种提升

继续深入探讨 Hopper 的一些新特性。对于 GPU 这种采用并行加速来实现高性能计算的系统,需要遵循两个关键性原则,一个是数据局部性,另一个就是异步计算

数据局部性是通过将数据、数据移动发生在尽可能靠近计算单元的位置,这样可以最大化享受数据移动的低延迟和高带宽。数据局部性可以发生在空间上,也可以发生在时间上。这里主要来讲空间局部性,GPU 中的计算 (线程层次结构) 会对应 GPU 硬件的本地存储,对于 Hopper 来说,

  • Grid (网格局部性) –>(映射到) GPU;==> 可以利用 50MB 的 L2 Cache、80GB HBM3显存;
  • Thread Block (线程块局部性) –>(映射到) SM;==> 可以利用 256KB L1 Cache + Shared Memory;
  • Threads (线程局部性) –>(映射到) Lanes 硬件线程通道;==> 利用线程本地寄存器文件存储,每个线程为 1KB;

下面这张图很好展示了上面所描述的局部性映射,这是二维网格的硬件映射,这种映射也支持三维的情况,

一文看透H100 Hopper架构的各种提升

异步计算意味着将独立的任务和数据移动尽可能地重叠,来提高操作的并行性,目标是充分利用所有单元并避免序列化的操作。在 Hopper 硬件本身,架构为 Clusters 提供了 SM-TO-SM 的互联网络,如下。使用这个互联网络,一个线程块可以直接访问另一个线程块的共享内存,这种访问是通过分布在全局地址空间上的分布式 Shared Memory 来实现的,而且支持所有内存操作,包括 load、stores、atomic、synchronization op 等。

一文看透H100 Hopper架构的各种提升

Clusters 集群中的线程和线程块可以通过 Barrier 和 Distributed Shared Memory 来进行互相同步,如下,

一文看透H100 Hopper架构的各种提升

SM-TO-SM 还支持线程块本身之间的异步 DMA 操作,下面展示了 TMA 异步内存复制的示意,

一文看透H100 Hopper架构的各种提升

异步计算的优化很多会是在 pipeline 层面的优化,下面展示了 Hopper TMA (Tensor Memory Accelerator) 和新的 asynchronous transaction barrier 来对 异步执行 的优化。

一文看透H100 Hopper架构的各种提升

Hopper H100 采用了第四代 Tensor core,算力提升基本在 2x 的 A100,算力数据如下,

一文看透H100 Hopper架构的各种提升

上面的性能数据表格其实没有给出 Hopper Tensor Core 新精度 FP8 的算力数据,对于新出的 FP8,它的吞吐量是 FP16 和 BF16 数据类型的两倍,与 8 位整型的吞吐量相当。下面展示了 FP8 的精度表达范围、FP8 矩阵乘加速流程示意,

一文看透H100 Hopper架构的各种提升

Hopper H100 FP8 Trensor Core 相比 A100 FP16 Tensor Core,具有 6x 的性能提升,如下,

一文看透H100 Hopper架构的各种提升

在 Transformer 时代,众多的 Transformer 模型井喷,现在大的 Transformer 模型的规模已经达到数万亿个参数,由于需要大量的计算,导致其训练时间长达数月,这对业务需求来说是不可行的。比如,MT-NLG (Megatron Turing NLG) 需要 2048 个 NVIDIA A100 GPU 运行 8 周才能完成训练。Hopper H100 引进了全新的 Transformer Engine,这个引擎使用软件和定制的 NVIDIA Hopper Tensor Core 来显著加速 Transformer 的计算,下面展示了 H100 Transformer Engine 的执行示意,

一文看透H100 Hopper架构的各种提升

从 A100 到 H100,上述诸多新技术的引入,使得累积计算性能提升明显。SMs 数量的增加带来了 22% 的提升、第四代 Tensor Core 提供了额外两倍的提升、新的 Transformer Engine 也带来了两倍的性能提升,最后时钟频率的改进又提供了 30% 的性能提升。如下,

一文看透H100 Hopper架构的各种提升

好了,以上分享了 一文看透H100 Hopper架构的各种提升,希望我的分享能对你的学习有一点帮助。

 【公众号传送】

《极智开发 | 一文看透H100 Hopper架构的各种提升》

畅享人工智能的科技魅力,让好玩的AI项目不难玩。邀请您加入我的知识星球, 星球内我精心整备了大量好玩的AI项目,皆以工程源码形式开放使用,涵盖人脸、检测、分割、多模态、AIGC、自动驾驶、工业等。不敢说会对你学习有所帮助,但一定非常好玩,并持续更新更加有趣的项目。 t.zsxq.com/0aiNxERDq

一文看透H100 Hopper架构的各种提升

本网站的内容主要来自互联网上的各种资源,仅供参考和信息分享之用,不代表本网站拥有相关版权或知识产权。如您认为内容侵犯您的权益,请联系我们,我们将尽快采取行动,包括删除或更正。
AI教程

Mistral 7B: 4-bit Quantization and QLoRA for Efficient Language Model Optimization

2023-11-25 8:44:14

AI教程

深度上下文兴趣网络(DCIN):优化CTR预测算法

2023-11-25 8:52:14

个人中心
购物车
优惠劵
今日签到
有新私信 私信列表
搜索