深入gpu硬件架构及运行机制(NVIDIA历代gpu架构)

深入gpu硬件架构及运行机制(NVIDIA历代gpu架构)

浏览次数:
信息来源: 用户投稿
更新日期: 2026-04-19
文章简介

随着GPU计算用例的快速增长,对图形处理单元(GPU)的需求激增。事实上,对GPU的需求一直很高,短缺现在很常见。在这里,我们将深入了解NvidiaGPU的架构,以帮助您了解GPU的工作原理以及它们为

2025阿里云双十一服务器活动

随着GPU计算用例的快速增长,对图形处理单元(GPU)的需求激增。事实上,对GPU的需求一直很高,短缺现在很常见。在这里,我们将深入了解NvidiaGPU的架构,以帮助您了解GPU的工作原理以及它们为何非常适合众多现代应用程序。

正如我们在GPU与CPU:主要区别是什么?,GPU使用许多轻量级处理核心,利用数据并行性,并具有高内存吞吐量。虽然具体组件因型号而异,但从根本上说,大多数现代GPU使用单指令多数据(SIMD)流架构。要理解这意味着什么——以及它为什么重要——让我们看一下Flynn的分类法。

Flynn'sTaxonomy是斯坦福大学的MichaelJ.Flynn对计算机体系结构进行的分类。弗林分类法背后的基本思想很简单:计算由2个流(数据和指令流)组成,可以按顺序(一次1个流)或并行(一次处理多个流)处理。两个数据流和两种可能的处理方法导致弗林分类法中的4个不同类别。让我们逐一看看。

SISD流是一种架构,其中单个指令流(例如程序)在一个数据流上执行。这种架构用于具有单核处理器的旧计算机以及许多简单的计算设备。

SIMD流架构具有单个控制处理器和指令存储器,因此在任何给定时间点只能运行一条指令。该单条指令被复制并同时在每个内核上运行。这是可能的,因为每个处理器都有自己的专用内存,允许在数据级别进行并行处理(也称为“数据并行处理”)。SIMD的根本优势在于数据并行性使其能够快速(多个处理器做同一件事)和高效(只有一个指令单元)执行计算。

MISD流架构实际上是SIMD架构的逆向。使用MISD,多个指令在同一数据流上执行。今天MISD的用例非常有限。其他架构之一可以更好地解决大多数实际应用程序。

MIMD流架构为数据流和指令流提供并行性。使用MIMD,多个处理器针对不同的数据流独立执行指令流。

现在我们了解了不同的架构,让我们考虑一下为什么SIMD是GPU的最佳选择。当您了解到从根本上说图形处理以及许多其他常见的GPU计算用例只是大规模地一遍又一遍地运行相同的数学函数时,答案就变得很直观了。在这种情况下,许多处理器在多个数据集上运行相同的指令是理想的。

恰当的例子:调整像素的视频亮度依赖于使用RGB(红绿蓝)值的简单算法。多次执行同一功能是产生所需结果的必要条件,而SIMD是该用例的理想选择。相反,MIMD在需要执行多个离散计算的应用程序中最有效,例如计算机辅助设计(CAD)。

如果您熟悉GPU,您可能听说过单指令多线程(SIMT)这个术语。那么SIMT在哪里适合Flynn的分类法?SIMT可以看作是SIMD的扩展。它将多线程添加到SIMD,从而提高了效率,因为指令获取开销更少。

我们理解GPU架构的下一步将我们引向Nvidia流行的计算统一设备架构(CUDA)并行计算平台。通过提供一个API,使开发人员能够优化GPU资源的使用方式——无需专门的图形编程知识——CUDA在使GPU用于通用计算方面已经走了很长一段路。

在这里,我们将了解与GPU架构相关的关键CUDA概念。

CUDA中的处理资源旨在帮助优化GPU用例的性能。层次结构的三个基本组件是线程、线程块和内核网格。

线程——或CUDA核心——是一种并行处理器,可在NvidiaGPU中计算浮点数学运算。GPU处理的所有数据都是通过CUDA内核处理的。现代GPU有数百甚至数千个CUDA内核。每个CUDA核心都有自己的内存寄存器,其他线程无法使用。

虽然计算能力和CUDA核心之间的关系不是完全线性的,但一般来说——假设其他条件相同——GPU拥有的CUDA核心越多,它的计算能力就越大。这个一般想法有多种例外情况。例如,不同的GPU微架构会影响性能并使CUDA内核较少的GPU更强大

顾名思义,线程块(或CUDA块)是一组CUDA核心(线程),可以串行或并行地一起执行。核心的逻辑分组可实现更高效的数据映射。线程块在每个块的基础上共享内存。当前的CUDA架构将每个块的线程数量限制为1024。给定CUDA块中的每个线程都可以访问相同的共享内存(更多关于下面不同类型的内存)。

线程块的下一层抽象是内核网格。内核网格是同一内核上的线程块分组。网格可用于并行执行更大的计算(例如,那些需要超过1024个线程的计算),但是由于不同的线程块不能使用相同的共享内存,所以在块级别发生的相同同步不会发生在网格-等级。

与计算资源一样,内存分配遵循CUDA中的特定层次结构。虽然CUDA编译器自动处理内存分配,但CUDA开发人员可以直接优化内存使用。以下是了解CUDA内存层次结构的关键概念。

寄存器是分配给各个线程(CUDA核心)的内存。因为寄存器存在于“片上”内存中并且专用于各个线程,所以存储在寄存器中的数据可以比任何其他数据处理得更快。寄存器中的内存分配是一个复杂的过程,由编译器处理,而不是由CUDA开发人员编写的软件控制。

只读(RO)是GPU流式多处理器上的片上存储器。它用于特定任务,例如可以使用CUDA纹理函数访问的纹理内存。在许多情况下,从只读内存中获取数据比使用全局内存更快、更高效。

第1层(L1)缓存和共享内存是在线程块(CUDA块)内共享的片上内存。因为一级缓存和共享内存存在于芯片上,所以它比二级缓存和全局内存都快。一级缓存和共享内存的根本区别在于:共享内存的使用是通过软件控制的,而一级缓存是由硬件控制的。

所有CUDA块中的所有线程都可以访问第2层缓存。L2缓存存储全局和本地内存。从L2缓存中检索数据比从全局内存中检索数据更快。

全局内存是驻留在设备DRAM中的内存。使用CPU类比,全局内存可与RAM相提并论。从全局内存中获取数据本质上比从L2缓存中获取数据要慢。

虽然近年来NvidiaGPU确实更频繁地成为新闻,但它们绝不是新的。事实上,多年来,NvidiaGPU已经进行了多次迭代,GPU架构也取得了进步。因此,让我们回顾一下最近的历史,了解GPU是如何随着时间的推移而发展的。我们将通过探索自2000年以来发布的每个流行的NvidiaGPU微体系结构来做到这一点。

深入gpu硬件架构及运行机制,NVIDIA历代gpu架构

Rankine是2003年发布的Kelvin的后续产品,用于NvidiaGPU的GeForce5系列。Rankine支持顶点和片段程序,并将VRAM大小增加到256MB。

GeForce6和7系列GPU使用的微架构Curie于2004年作为Rankine的继任者发布。Curie将显存量翻了一番,达到512MB,是第一代支持PureVideo视频解码的NvidiaGPU。

2006年发布的TeslaGPU微架构作为Curie的继任者,为Nvidia的GPU产品线引入了几个重要的变化。除了作为GeForce8、9、100、200和300系列GPU使用的架构之外,Tesla还被为图形处理以外的用例设计的Quadro系列GPU使用。

令人困惑的是,Tesla既是GPU微架构的名称,也是NvidiaGPU的品牌。2020年,Nvidia决定停止使用特斯拉名称,以免与流行的电动汽车品牌混淆。

Tesla的继任者Fermi于2010年发布。Fermi引入了许多增强功能,包括:

  • 支持512个CUDA内核
  • 64KBRAM和分区L1缓存/共享内存的能力
  • KeplerGPU微架构作为Fermi2012的继任者发布。对Fermi的主要改进是:

  • 一种称为SMX的新型流式多处理器架构
  • 支持TXAA(一种抗锯齿方法)
  • CUDA内核增加到1536个
  • 通过GPUboost支持自动超频
  • 支持GPUDirect,它允许GPU——无论是在同一台计算机上还是通过网络相互访问——无需访问CPU即可进行通信
  • 2014年发布的麦克斯韦是费米的继任者。根据Nvidia的说法,第一代MaxwellGPU与Fermi相比具有以下优势:

  • 由于与控制逻辑分区、时钟门控、指令调度和工作负载平衡相关的增强,更高效的多处理器
  • 每个流式多处理器上有64KB的专用共享内存
  • 与Fermi使用的锁定/解锁范例相比,本机共享内存原子操作提供了性能改进
  • Pascal于2016年接替Maxwell。这种NvidiaGPU微架构提供了对Maxwell的改进,例如:

  • 支持NVLink通信,与PCIe相比具有显着的速度优势
  • 高带宽内存2(HBM2)-一种4096位内存总线,提供720GB的内存带宽
  • 动态负载平衡以优化GPU资源利用率
  • Volta是2017年发布的一种有点独特的微架构迭代。虽然以前的大多数微架构都用于消费类GPU,但VoltaGPU严格针对专业应用进行销售。Volta也是第一个使用TensorCore的微架构。

    张量核心是一种新型的处理核心,可以执行专门的数学计算。具体来说,TensorCores执行支持AI和深度学习用例的矩阵运算。

    Turing于2018年发布,除了支持TensorCores外,还包括许多面向消费者的GPU。Turing是Nvidia广受欢迎的QuadroRTX和GeForceRTX系列GPU使用的微架构。这些GPU支持实时光线追踪(又名RTX),这对于虚拟现实(VR)等计算量大的应用程序至关重要。

    Ampere微架构才刚刚开始投放市场。Ampere旨在进一步支持高性能计算(HPC)和人工智能用例。Ampere的增强功能包括第3代NVLink和Tensor核心、结构稀疏性(将不需要的参数转换为零以启用AI模型训练)、第2代光线追踪核心、多实例GPU(MIG)以实现A100GPU在逻辑上的分区隔离且安全的GPU实例。

    我们希望您喜欢我们对GPU架构及其演变过程的概述。在CherryServers,我们对HPC的未来和下一代GPU将支持的用例充满热情。我们是裸机云的行业领导者,也是帮助企业充分利用其计算资源的专家。

    标签:
    Raksmart9月秒杀爆款独服低至$30/月起(爆款洛杉矶不限流量独服仅$89/月起)
    « 上一篇
    返回列表
    下一篇 »

    如本文对您有帮助,就请抽根烟吧!