英伟达NVIDIA GPU 架构介绍

一、NVIDIA GPU的架构演变历史和基本概念
截止2021年,发布时间离我们最近的8种NVIDIA GPU微架构是:

Tesla  (特斯拉)
Fermi(费米)
Kepler(开普勒)
Maxwell(麦克斯韦)
Pascal(帕斯卡)
Volta(伏特)
Turing(图灵)
Ampere(安培)
Hopper(赫柏)
NVIDIA一般以历史上一些著名科学家的名字命名自己的GPU微架构,上面8种微架构分别是:特斯拉,费米,开普勒,麦克斯韦,帕斯卡,伏特,图灵,安培,赫柏。

其中最新的是2020年宣布的Ampere架构。

二、Tesla 架构
Tesla 架构的资料在官网也没找到多少,不过这是英伟达第一个实现统一着色器模型的微架构。

 

经典型号是G80,在Fermi架构白皮书的开篇部分有对G80的简要介绍:

G80 是第一款支持 C 语言的 GPU,让程序员无需学习新的编程语言即可使用GPU的强大功能。
G80 是第一款用单一、统一的处理器取代独立的顶点和像素管道的 GPU,该处理器可以执行顶点、几何、像素和计算程序。
G80 是第一款使用标量线程处理器的 GPU,无需程序员手动管理向量寄存器
G80 引入了单指令多线程 (SIMT) 执行模型,即多个独立线程使用一条指令并发执行。
G80 为线程间通信引入了共享内存(shared memory)和屏障同步(barrier synchronization)。

三、Fermi架构[2]
Fermi 架构是NVIDIA GPU 架构自初代 G80 以来最重大的飞跃。

NVIDIA的GPU研发团队从G80和GT200两个型号上汲取经验,采用全新的设计方法来创建世界上第一个计算 GPU。在这个过程中,专注于提高以下关键领域:

提高双精度性能——虽然单精度浮点性能大约是桌面 CPU 性能的十倍,但一些 GPU 计算应用程序也需要更高的双精度性能。
ECC 支持——ECC 允许 GPU 计算用户在数据中心安装中安全地部署大量 GPU,并确保医疗成像和金融期权定价等数据敏感应用程序免受内存错误的影响。
True Cache Hierarchy—— 一些并行算法无法使用 GPU 的共享内存,用户需要一个真正的缓存架构来帮助他们。
更多共享内存——许多 CUDA 程序员要求超过 16 KB 的 SM 共享内存来加速他们的应用程序。
更快的上下文切换——用户要求在应用程序和更快的图形和计算互操作之间进行更快的上下文切换。
更快的原子操作(Atomic Operations)——用户要求为他们的并行算法提供更快的读-修改-写原子操作。
基于以上出发点,Fermi架构有以下四大亮点:

第三代流式多处理器 (SM)
每个 SM 有 32 个 CUDA 内核,是 GT200 的 4 倍
8 倍于 GT200 的峰值双精度浮点性能
Dual Warp Scheduler 同时调度和分派来自两个独立 warp 的指令
64 KB RAM,可配置共享内存和 L1 cache
第二代并行线程执行 ISA
具有完整 C++ 支持的统一地址空间
针对 OpenCL 和 DirectCompute 进行了优化
完整的 IEEE 754-2008 32 位和 64 位精度
带有 64 位扩展的完整 32 位整数路径
支持过渡到 64 位寻址的内存访问指令
通过预测提高性能
改进的内存子系统
具有可配置 L1 和Unified L2 Caches 的 NVIDIA Parallel DataCache TM 层次结构
第一个支持 ECC 内存的 GPU
大幅提升原子内存操作性能
NVIDIA GigaThread TM 引擎
应用程序上下文切换速度提高 10 倍
并发内核执行
乱序线程块执行
双重叠内存传输引擎
以上是Fermi 架构相较于初代架构提升的地方
下面具体看看Fermi 架构的配置


Fermi 架构

第一个基于Fermi架构的GPU,使用 30 亿个晶体管实现,共计512个CUDA内核。

这512 个 CUDA 内核被组织成 16 个 SM,每个 SM 是一个垂直的矩形条带(红框中的内容),分别位于一个普通的 L2 cache周围,每个 SM 有32 个CUDA 内核。

一个CUDA 内核为一个线程在每个时钟周期里执行一条浮点或整数指令。

6个64-bit显存分区,组成一个384-bit的显存接口,总共支持高达 6GB 的 GDDR5 DRAM显存。

GDDR5:第五版图形用双倍数据传输率存储器
DRAM:动态随机存取存储器
主机接口(host interface )通过 PCI-Express 将 GPU 连接到 CPU。 Giga Thread 全局调度器将线程块分发给 SM 线程调度器。

Fermi图形渲染架构:


整个 GPU 有多个 GPC(图形处理集群),单个GPC包含一个光栅引擎(Raster Engine),四个 SM(流式多处理器),GPC 可以被认为是一个独立的 GPU。所有从 Fermi 开始的 NVIDIA GPU,都有 GPC。

 

 

Fermi Streaming Multiprocessor (SM)

上图是将16个SM中的 1 个拿出来放大后的详细结构图,其中包含:

橙色部分:2 个 Warp Scheduler/Dispatch Unit
绿色部分:32 个 CUDA 内核,分在两条 lane 上,每条分别是 16 个
浅蓝色部分:register file-寄存器文件和 L1 cache
16 个 Load/Store units (LD/ST Unit)
4 个 Special Function Units (SFU)
每个 SM 具有 32 个 CUDA 内核,就是图中写着Core的绿色小方块儿,每个 CUDA 内核都有一个完全流水线化的整数算术逻辑单元 (ALU) 和浮点单元 (FPU):

CUDA 内核

 

SM(Streaming Multiprocessors)是GPU架构中非常重要的部分,GPU硬件的并行性就是由SM决定的。

四、Kepler架构


Kepler架构的思路是:减少SM单元数(在这一代中叫SMX单元),增加每组SM单元中的CUDA内核数。在Kepler架构中,每个SM单元的CUDA内核数由Fermi架构的32个激增至192个。

 

 

在每个SMX中:

4 个 Warp Scheduler,8 个 Dispatch Unit
绿色:192个 CUDA 内核,分在12条 lane 上,每条分别是 16 个
黄色:64 个DP双精度运算单元,分在4条 lane 上,每条 lane 上 16 个
32 个 LD/ST Unit
32 个 SFU
五、Maxwell架构


Maxwell架构的SM单元和Kepler架构相比,又有很大变化,这一代的SM单元更像是把4个Fermi 架构的SM单元,按照2x2的方式排列在一起,这一代称为SMM单元:

SMM 使用基于象限的设计,具有四个 32 核处理块(processing blocks),每个处理块都有一个专用的 warp 调度程序,能够在每个时钟分派两条指令。

每个 SMM 单元提供

八个纹理单元(texture units)
一个多态引擎(polymorph engine-图形的几何处理)
专用寄存器文件和共享内存。
每个处理块中:

1个 Warp Scheduler,2 个 Dispatch Unit
绿色:32个 CUDA 内核
8个 LD/ST Unit
8个 SFU
CUDA内核总数 从Kpler时代的每组SM单元192个减少到了每组128个,但是每个SMM单元将拥有更多的逻辑控制电路,便于精确控制。

参考:
Maxwell: The Most Advanced CUDA GPU Ever Made | NVIDIA Developer Blog
六、Pascal架构


pascal架构的GP100核心

 

这里有一个新概念:核心

NVIDIA不同的架构会有几种不同的核心,Pascal架构有GP100、GP102两种大核心:

GP100:3840个CUDA核心,60组SM单元;
GP102:3584个CUDA核心,28组SM单元;
第2组数据存疑
核心是一个完整的GPU模组,上图展示了一个pascal架构的GP100核心,带有 60 个 SM 单元。

不同的显卡产品可以使用不同的 GP100 配置,一般是满配或者减配,比如Tesla P100 使用了 56 个 SM 单元。

 

GP100核心的SM单元

每个SM单元中,分为2个Process Block,每个Process Block中:

1个 Warp Scheduler,2 个 Dispatch Unit
绿色:32个 CUDA 内核
黄色:16 个DP双精度运算单元,分在2条 lane 上,每条 lane 上 8个
8个 LD/ST Unit
8个 SFU
CUDA内核总数从Maxwell时代的每组SM单元128个减少到了每组64个,这一代最大的特点是又把DP双精度运算单元加回来了。

制程工艺升级到了16nm,性能大幅提升,功耗却不增加。

七、Volta架构


Volta架构的GV100核心

 

 

GV100核心的SM单元

每个SM单元中,分为4个Process Block,每个Process Block中:

1个 Warp Scheduler,1个 Dispatch Unit
8 个 FP64 Core
16 个 INT32 Core
16 个 FP32 Core
2 个 Tensor Core
8个 LD/ST Unit
4个 SFU
在前几代架构中:

一个CUDA 内核在每个时钟周期里只能为一个线程执行一条浮点或整数指令。

但是从Volta架构开始,将一个CUDA 内核拆分为两部分:FP32 和 INT32,好处是在同一个时钟周期里,可以同时执行浮点和整数指令,提高计算速度。

Volta架构在传统的单双精度计算之外还增加了专用的Tensor Core张量单元,用于深度学习、AI运算等。

八、Turing架构


Turing架构的TU102核心

 

Turing架构目前一共有三种核心:

TU102核心
TU104核心
TU106核心


TU102核心的SM单元

 

每个SM单元有4个处理块,每个处理块中:

1 个 Warp Scheduler,1 个 Dispath Unit
16 个 INT32 Core
16 个 FP32 Core
2 个 Tensor Core
4 个 LD/ST Unit
4 个 SFU
这一代架构去掉了对FP64的支持。

九、Ampere架构


Ampere架构的GA102核心

 

 

GA102核心的SM单元

每个SM单元分成4个处理块,每个处理块中:

1 个 Warp Scheduler,1 个 Dispatch Unit
8 个 FP64 Core
16 个 FP32 Core
16 个 INT32 Core
1 个 Tensor Core
8 个 LD/ST Unit
4 个 SFU
这一代架构又把FP64 Core加回来了,同时也是自Volta架构以来的,NVIDIA第三代Tensor技术,保持一代架构更新一次Tensor。

 

十、Hopper架构


NVIDIA Hopper架构的H100芯片采用台积电4nm工艺(N4是台积电N5工艺的优化版),核心面积为814平方毫米,比A100小14平方毫米。虽然核心面积比A100小14平方毫米,但得益于4nm工艺,晶体管密度数量从542亿提升到800亿。

 

  从核心设计图来看,NVIDIA Hopper架构与苹果UltraFusion相似,但它在本质上还是单独的一颗晶片,而不是苹果M1 Ultra那种将两块芯片桥接起来。顶层拓扑与Ampere架构差别不大,整个Hopper架构GPU由8个图形处理集群(Graphics Processing Cluster,GPC)“拼接”组成,但每4个GPC共享25MB得L2缓存。核心两侧则是HBM3显存,拥有5120 Bit的位宽,最高容量可达80GB。

  片上的每个GPC由9个纹理处理集群(Texture Processor Cluster,TPC)组成,由PCIe5或接口进入的计算任务,通过带有多实例GPU(Multi-Instance GPU,MIG)控制的GigaThread引擎分配给各个GPC。GPC通过L2缓存共享中间数据,GPC计算的中间数据通过NVLink与其他GPU互通。每个TPC由2个流式多处理器(Streaming Multiprocessor)组成。

 

  Hopper架构的性能提升和主要变化体现在新型线程块集群技术和新一代的流式多处理器。NVIDIA在Hopper中引入了新的线程块集群机制,可实现跨单元进行协同计算。H100中的线程块集群可在同一GPC内的大量并发运行,对较大的模型具有更好的加速能力。

 

  每个包括128个FP32 CUDA核心、4个第4代张量核心(Tensor Core)。每个单元的指令首先存入L1指令缓存(L1 Instruction Cache),再分发到L0指令缓存(L1 Instruction Cache)。与L0缓存配套的线程束排序器(Wrap Scheduler,线程束)和调度单元(Dispatch Unit)为CUDA核心和张量核心分配计算任务。通过使用4个特殊函数单元(Special Function Unit,SFU)单元,进行超越函数和插值函数计算。

  NVIDIA在Hopper架构中引入新一代流式多处理器的FP8张量核心(Tensor Core),用来加速AI训练和推理。FP8张量核心支持FP32和FP16累加器以及两种FP8 输入类型(E4M3和E5M2)。与FP16或BF16相比,FP8将数据存储要求减半,吞吐量翻倍。在Transformer引擎的分析中,还会看到使用FP8可自适应地提升Transformer的计算速度。

 

  在GPU中,张量核心AI加速的关键模块,也是Ampere及之后GPU架构与早期GPU的重要区别。张量核心是用于矩阵乘法和矩阵累加 (Matrix Multiply-Accumulate,MMA) 数学运算的专用高性能计算核心,可为AI和HPC应用程序提供突破性的性能加速。

  Hopper的张量核心支持FP8、FP16、BF16、TF32、FP64和INT8 MMA数据类型。这一代张量核心的关键点是引入Transformer引擎。Transformer算子是主流的BERT到GPT-3等NLP模型的基础,越来越多地应用于计算机视觉、蛋白质结构预测等不同领域。

 

  与上一代A100相比,新的Transformer引擎与Hopper FP8张量核心相结合,在大型NLP模型上提供高达9倍的AI训练速度和30倍的AI推理速度。为了提升Transformer的计算效率,新Transformer引擎使用混合精度,在计算过程中智能地管理计算精度,在Transformer计算的每一层,根据下一层神经网络层及所需的精度,在FP8和其他浮点格式中进行动态格式转换,充分运用张量核心的算力。

 

  Hopper架构中新增加张量存储加速器 (Tensor Memory Accelerator,TMA) ,以提高张量核心与全局存储和共享存储的数据交换效率。新的TMA使用张量维度和块坐标指定数据传输,而不是简单的按数据地址直接寻址。TMA通过支持不同的张量布局(1D-5D张量)、不同的存储访问模式、显著降低寻址开销并提高了效率。

 

  TMA操作是异步的,多个线程可以共享数据通道,排序完成数据传输。TMA的关键优势是可以在进行数据复制的时候,释放线程的算力来执行其他工作。例如,在A100由线程本身负责生成所有地址执行所有数据复制操作;但Hopper中得TMA来负责生成地址序列(这个思路类似DMA控制器),接管数据复制任务,让线程去做其他事。

  与Ampere A100线相比,基于Hopper架构的H100计算性能提高大约6倍。性能大幅提升的核心原因是NVIDIA引入FP8张量核心和针对NLP任务的Transformer引擎,加上TMA技术减少单元在数据复制时的无用功。
————————————————
 转载:NVIDIA GPU 架构梳理_查里王的博客-CSDN博客_nvidia 架构
原文链接:https://blog.csdn.net/tony_vip/article/details/123604308

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/31320.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

英伟达 GPU 架构简史

英伟达 GPU 架构简史 尽管近年来 Nvidia GPU 确实更频繁地成为新闻,但它们绝不是新事物。事实上,多年来,Nvidia GPU 已经进行了多次迭代,GPU 架构也取得了进步。因此,让我们回顾一下最近的历史,以了解 GPU…

英伟达创始人CEO黄仁勋:一个事实是,拥有一个可以完美执行的简单想法,有时候比拥有一个你的公司无法执行的宏伟想法更好 | 英伟达:地球上最重要的公司之一

英伟达创始人&CEO黄仁勋:一个事实是,拥有一个可以完美执行的简单想法,有时候比拥有一个你的公司无法执行的宏伟想法更好 文章目录 英伟达创始人&CEO黄仁勋:一个事实是,拥有一个可以完美执行的简单想法,有时候比拥有一个你的公司无法执行的宏伟想法更好英伟达公司…

英伟达突破万亿美元市值,创始人黄仁勋分享创业心得

你知道全球第一家市值突破万亿美元的芯片公司是哪一家吗?它的创始人又是怎样的一个人呢?今天我们就来聊聊英伟达和黄仁勋的故事。 —————————————————————————————— 英伟达(NVIDIA Corporation)&a…

不愁失业!英伟达 CEO 黄仁勋:“AI 让每个人都能成为程序员”

整理 | 朱珂欣 出品 | CSDN程序人生(ID:coder_life) 你是否想过,AI 可以帮你圆梦程序员? 早些年,大家或许对此存在疑惑,但近来 AI 编程工具的涌现和升级,这题的答案或许是——“y…

关于英伟达数字人文章的致歉和说明

大家好,昨天我们发布的一篇英伟达数字人新进展的文章,引发了较大范围的关注和讨论。经过我们的复核及英伟达官方最新确认,这篇文章存在不严谨和失当之处,特此进行说明和致歉。 一、说明一下我们的错误。 今日英伟达官方确认&#…

元宇宙大比拼:英伟达Nvidia,Facebook,iwemeta

还是那个熟悉的黄色厨房,还是那身立领的黑皮衣,在11月9日下午4点,黄仁勋带着他的元宇宙概念开启了英伟达GTC 2021大会。 在长达1小时30分钟的新品发布会中,黄仁勋重磅发布了英伟达最先进的Omniverse Avatar平台,这是一…

英伟达首席科学家:深度学习硬件的过去、现在和未来

作者|Bill Dally 翻译|胡燕君、沈佳丽、贾川 过去十年是深度学习的“黄金十年”,它彻底改变了人类的工作和娱乐方式,并且广泛应用到医疗、教育、产品设计等各行各业,而这一切离不开计算硬件的进步,特别是GP…

英伟达的这款GPU太强了!

点击下方卡片,关注“CVer”公众号 AI/CV重磅干货,第一时间送达 今年 3 月 21 日 - 24 日举办的 NVIDIA GTC 2022 大会可谓是亮点十足。NVIDIA 不仅一口气更新了 60 多个 SDK 应用程序,继续加大在 Omniverse、机器人平台、自动驾驶和量子计算等…

英伟达创始人出生 | 历史上的今天

整理 | 王启隆 透过「历史上的今天」,从过去看未来,从现在亦可以改变未来。 今天是 2023 年 2 月 17 日,在 1996 年的今天,IBM 的超级计算机“深蓝”首次挑战卡斯帕罗夫落败。“深蓝”首次挑战虽然最终败北,但却赢得了…

作为超级自动化的重要先驱,流程挖掘正在成为组织运营标配

正在成为组织运营标配的流程挖掘,到底有哪些商业价值? 作为超级自动化的重要先驱,流程挖掘正在成为组织运营标配 文/王吉伟 AIGC正在影响越来越多的行业,流程挖掘领域亦不例外。 Mindzie首先宣布集成生成式AI,使用户…

如何利用ChatGPT构建高效的思维导图

如何利用ChatGPT构建高效的思维导图 文章目录 如何利用ChatGPT构建高效的思维导图第一步输入指令,生成大纲指令内容GPT回答 第二步把得到的markdown格式保存为md文件第三步,导入到XMind生成思维导图思维图成品展示 第一步输入指令,生成大纲 …

2021年中国健康体检现状与格局分析,老龄化趋势推动产业发展,民营占比持续提升「图」

一、健康体检产业链概述 健康体检产业上游主要包括相关仪器设备和医用耗材,下游为个人客户或单位团体客户。医疗器械的市场分散程度较高,如果体检中心对医疗器械的采购量大,对上游的议价能力就强;体检中心对下游的团体客户议价能…

【报告分享】2021中国人健康大数据报告-光华博思特(附下载)

摘要:生老病死是我们每个人的坎,如今现代社会,文明程度较高,人们不再追求虚无缥缈的“长生不死”。如何能在有限的生命中,过得更好、更健康,才是打开生命的正确姿势。从这份报告中那些触目惊心的数字里不难看出我国国民…

中国健康体检行业行情动态及未来发展趋向分析报告2022年版

中国健康体检行业行情动态及未来发展趋向分析报告2022年版 【报告目录】: 正文目录 2 图表目录 19 第1章:中国健康体检行业发展环境分析 21 1.1 健康体检行业概念及产业链分析 21 1.1.1 健康体检行业定义 21 1.1.2 健康体检行业产业链简介 21 1.1.3 健…

关于GPT-4,14个容易被忽略的惊人细节!

来源:华尔街见闻 OpenAI推发布了GPT-4之后,向科技界再次扔下了一枚“核弹”。 根据OpenAI的演示,我们知道了GPT-4拥有着比GPT-3.5更强大的力量:总结文章、写代码、报税、写诗等等。 但如果我们深入OpenAI所发布的技术报告&…

科研人的利器:利用New Bing五分钟读完一篇论文

大家好,我是可夫小子,关注AIGC、读书和自媒体。解锁更多ChatGPT、AI绘画玩法。加我,拉你进群。 New Bing『新必应』是微软一款集成了ChatGPT的搜索引擎,它以聊天的方式来进行信息搜索,这不同过去几十年通过对话框搜索信…

两位阿里 P10 的成长经历,让我学到这几点...

点击“开发者技术前线”,选择“星标” 让一部分开发者看到未来 作者:shixin。 最近看完了专栏《超级访谈:对话毕玄》,和年初看的《超级访谈:对话汤峥嵘》类似,它们都是对阿里 P10(程序员金字塔顶…

独立产品灵感周刊 DecoHack #052 - 100个AI 工具导航网站

本周刊记录有趣好玩的独立产品设计开发相关内容,每周发布,往期内容同样精彩,感兴趣的伙伴可以 点击订阅我的周刊。为保证每期都能收到,建议邮件订阅。欢迎通过 Twitter 私信推荐或投稿。 ❤️ 刚换工作再加上个人原因有些自己的事…

如旁观者听余华从死亡中谈《活着》

“少年去游荡,中年想掘藏,老年做和尚。” ——《活着》 很喜欢人一旦了解了自己也就了解了世界这句话。犹如书中最后福贵唱到那句歌词,也就是文章首行。十五个字贯穿了一生。 福贵到人生的最后,以“做人还是平常点好,争…