编者注:NVIDIA 在 3 月 23 日公布基于全新 Hopper 架构的 GPU H100,其多种精度下的 AI 性能达到上一代 A100 的 3~6 倍NVIDIA 如何做到如此大幅的性能升级Hopper 架构有何玄机千芯科技董事长陈巍博士对此加以解读
在 2022 年 3 月 NVIDIA GTC 大会上,NVIDIA 创始人兼 CEO 黄仁勋介绍了一款基于全新 Hopper 架构的 H100 GPU,这是英伟达迄今用于加速人工智能,高性能计算和数据分析等任务的最强 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 工艺,芯片面积为 814 平方毫米。AMD还表示,最近大半年时间里,随着用户在家的时间不断增长,用户对于台式机和笔记本电脑的独立显卡需求也有显著增加,但AMD在出货量方面未能真正把握住这一点。
H100 Tensor Core GPU 的性能规格
Hopper 架构可以视为由两组对称结构拼接而成。
在顶层拓扑上,Hopper 似乎与她的前辈 Ampere 架构差别不大图中的 Hopper 架构 GPU 由 8 个图形处理集群拼接组成
Hopper 架构基本结构
外周与多组 HBM3 封装在一起,形成整个芯片模组 —— 从模组上看又是个拼装货片上的每个 GPC 又由 9 个纹理处理集群 拼接组成
由 PCIe5 或 SMX 接口进入的计算任务,通过带有多实例 GPU控制的 GigaThread 引擎分配给各个 GPCGPC 之间通过 L2 缓存共享中间数据,GPC 计算的中间数据通过 NVLink 与其他 GPU 连接 / 交换每个 TPC 由 2 个流式多处理器组成
Hopper 架构的性能提升和主要变化体现在新型线程块集群技术和新一代的流式多处理器。。
线程块集群和带有集群的网格
Hopper 架构中引入了一种新的线程块集群机制,该机制可以跨 SM 单元进行协同计算H100 中的线程块集群可在同一 GPC 内的大量 SM 并发运行,这样对较大的模型具有更好的加速能力
02. 新一代流式多处理器 SM 与 FP8 支持
Hopper 架构的新一代流式多处理器引入了 FP8 张量核心来加速 AI 训练和推理FP8 张量核心支持 FP32 和 FP16 累加器,以及两种 FP8 输入类型
流式多处理器 SM
与 FP16 或 BF16 相比,FP8 将数据存储要求减半,吞吐量翻倍我们在 Transformer 引擎的分析中还会看到使用 FP8 可自适应地提升 Transformer 的计算速度
每个 SM 包括 128 个 FP32 CUDA 核心,4 个第 4 代张量核心。
进入 SM 单元的指令首先存入 L1 指令缓存,然后再分发到 L0 指令缓存与 L0 缓存配套的线程束排序器和调度单元来为 CUDA 核心和张量核心分配计算任务
FP8 具有 FP16 或 BF162 2 倍吞吐量
每个 SM 通过使用 4 个特殊函数单元单元进行超越函数和插值函数计算。
03. Hopper 的张量核心与 Transformer 引擎
在 GPU 中,张量核心是用于矩阵乘法和矩阵累加 数学运算的专用高性能计算核心,可为 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 架构中新增加了张量存储加速器 ,以提高张量核心与全局存储和共享存储的数据交换效率。
在这一新的 TMA 操作中,使用张量维度和块坐标指定数据传输,而不是简单的按数据地址直接寻址TMA 通过支持不同的张量布局,不同的存储访问模式,显著降低了寻址开销并提高了效率
也就是说,原来是一个一个的捡豆子,现在的方法就是一碗一碗的舀豆子这样的设计,是不是越来越接近 DSA 的寻址方式
TMA 的块坐标寻址方式
当然,TMA 操作是异步的,多个线程可以共享数据通道,排序完成数据传输。
TMA 的一个关键优势是它可以在进行数据复制的时候,释放线程的算力来执行其他工作。
例如,在 A100 上,由线程本身负责生成所有地址执行所有数据复制操作但在 Hopper 中,TMA 来负责生成地址序列,接管数据复制任务,让线程去做其他事
Hopper 架构的 H100 的基于 TMA 的存储复制效率更高
05. 结语:GPU 走向领域专用化
总体而言,基于 Hopper 架构的 H100 计算性能比 Ampere 架构的 A100 提高了大约 6 倍。
性能大幅提升的核心原因在于引入 FP8 后的张量核心和针对 NLP 任务的 Transformer 引擎,特别是 TMA 技术减少了 SM 单元在数据复制时的无用功。
从设计哲学上看,针对数据中心的 Hopper 架构中 DSA的想法越来越多,且流多处理器间的协作变多大概老黄也觉得,GPU 应朝着领域专用化的方向去发展
今年发布 Hopper 架构相对 Ampere 架构有较多的微观进步,希望老黄下次能给我们带来更多的技术惊喜。
参考文献:《NVIDIA H100 Tensor Core GPU Architecture》白皮书,英伟达,《GPGPU 芯片设计:原理与实践》,陈巍,耿云川
。声明:以上内容为本网站转自其它媒体,相关信息仅为传递更多企业信息之目的,不代表本网观点,亦不代表本网站赞同其观点或证实其内容的真实性。投资有风险,需谨慎。
9月6日上午,在崂山区政府西塔楼一楼大厅,崂山区科创委联合沙子口街道、大石社区启动了为期5天的大石村农民水彩画展。本次画
2021-09-08 12:23在5米高空作业,将数吨重的火车车轮或者小到几十斤的ldquo;铁疙瘩rdquo;安全装卸到位,可能谁也不会把这一切和一个
2021-09-03 11:10每个孩子都有其独特的成长规律。在孩子成长的过程中,每一步都充满着对这个世界的好奇,那作为家长的我们,该如何顺应孩子的成长
2021-08-30 18:502021年7月19日,备受关注的2021第五届中国家居品牌大会在广州启幕,现场发布2020-2021中国家居十大优选品牌
2021-07-26 01:28