作者:秋刀鱼半藏(原帖地址)

图形处理单元(GPU)是专门设计用于处理图形和并行计算的硬件。不同的GPU厂商采用不同的架构,以下是一些主要的GPU架构:

1.NVIDIA GPU 架构:

Fermi 架构:

NVIDIA的Fermi架构是早期GPU架构之一,它于2010年首次推出,主要用于GeForce和Tesla系列的图形处理单元(GPU)。以下是Fermi架构的一些主要特点:

  • CUDA架构:Fermi引入了CUDA(Compute Unified Device Architecture)架构,这使得GPU可以进行通用计算,不仅限于图形渲染。

  • Double Precision支持:Fermi是NVIDIA架构中首次引入双精度(Double Precision)浮点计算的架构,使得GPU在科学计算和高性能计算领域更具竞争力。

  • 硬件纹理取样:Fermi架构支持硬件纹理取样,提高了图形渲染和计算密集型任务的性能。

  • ECC内存支持:对于Tesla系列,Fermi引入了ECC(Error-Correcting Code)内存支持,以增加内存错误检测和纠正功能,提高系统的稳定性。

  • Parallel Thread Execution:Fermi支持Parallel Thread Execution(PTX)模型,允许程序员以高级语言编写CUDA程序,并在GPU上执行。

  • 多处理器结构:Fermi架构采用了多处理器(Multiprocessor)结构,每个多处理器包含多个CUDA核心,以支持并行计算任务。

  • 共享内存和L1缓存:Fermi引入了共享内存和L1缓存,提高了数据访问的效率,对于一些计算密集型任务具有重要意义。

  • Compute Capability:Fermi架构的计算能力(Compute Capability)为2.x,不同的GPU型号有不同的具体计算能力。

一些代表性的NVIDIA显卡采用了Fermi架构,例如GeForce 400/500系列和Tesla 20系列。虽然Fermi是早期的GPU架构,但它奠定了NVIDIA后续架构的基础,并在科学计算和GPU计算领域取得了重要的进展。

Kepler 架构:

NVIDIA的Kepler架构是GPU架构的一代,于2012年首次推出。Kepler主要用于GeForce、Quadro和Tesla系列的图形处理单元(GPU)。以下是Kepler架构的一些主要特点:

  • GPU Boost:Kepler引入了GPU Boost技术,可以动态提高GPU的时钟频率,以便在需要更多性能时提供额外的计算能力。

  • Dynamic Parallelism:Kepler架构支持Dynamic Parallelism,这意味着GPU内的一个CUDA核心可以启动新的CUDA线程块,使得GPU在处理并行计算任务时更加灵活。

  • Hyper-Q:Kepler引入了Hyper-Q技术,允许多个CPU核心同时将任务发送到GPU,提高了CPU和GPU之间的并行性。

  • SMX 架构:Kepler采用了Streaming Multiprocessor (SMX) 结构,每个SMX比之前的多处理器更强大,具有更高的性能和能效。

  • 支持更多CUDA核心:Kepler架构支持更多的CUDA核心,提高了并行计算性能,有助于更高效地处理并行任务。

  • 更强大的双精度性能:对于科学计算等需要双精度浮点计算的任务,Kepler架构提供了更强大的双精度性能。

  • PCI Express 3.0支持:Kepler架构支持PCI Express 3.0标准,提供更高的带宽,有助于提高GPU与主机系统之间的数据传输速度。

  • TurboHQ:Kepler引入了TurboHQ技术,通过硬件级别的动态时钟调整,提供更高效的性能。

一些代表性的NVIDIA显卡采用了Kepler架构,包括GeForce 600/700系列和Tesla K10/K20系列。Kepler架构在提高图形性能的同时,更加注重对并行计算任务的支持,为后续架构奠定了基础。

Maxwell 架构:

NVIDIA的Maxwell架构是GPU架构的一代,于2014年首次推出。Maxwell主要用于GeForce、Quadro和Tesla系列的图形处理单元(GPU)。以下是Maxwell架构的一些主要特点:

  • 多流处理器(SM)的改进:Maxwell引入了全新的SM设计,称为SMM(Streaming Multiprocessor Maxwell)。SMM相较于之前的SMX更加灵活,可以更有效地处理并行计算任务。

  • 动态能效:Maxwell架构注重能效,引入了动态能效技术,通过根据工作负载动态调整电压和时钟频率,以在维持性能的同时降低功耗。

  • Maxwell GPU Boost 2.0:引入了GPU Boost 2.0技术,通过智能地调整GPU时钟频率,使得GPU在需要更多性能时提供更高的时钟速度。

  • 支持Unified Memory:Maxwell架构开始支持Unified Memory,这使得GPU和CPU之间的内存管理更加简化,提高了数据传输的效率。

  • NVIDIA VXGI(Voxel Global Illumination)技术:Maxwell引入了VXGI技术,用于实时光照和全局光照效果,提高了游戏图形渲染的真实感。

  • NVIDIA MFAA(Multi-Frame Anti-Aliasing)技术:引入了MFAA技术,用于提高抗锯齿效果,提供更好的图形质量。

  • 支持H.265硬件解码:Maxwell架构开始支持H.265硬件解码,提供更高效的视频解码性能。

  • NVIDIA GameWorks技术:引入了NVIDIA GameWorks技术,用于提供游戏图形效果的增强,包括物理渲染、模拟和颗粒效果等。

一些代表性的NVIDIA显卡采用了Maxwell架构,包括GeForce 900系列和Tesla M40/M60系列。Maxwell架构在提高图形性能的同时,注重能效和图形效果的提升,为后续架构奠定了基础。

Pascal 架构:

NVIDIA的Pascal架构是GPU架构的一代,于2016年首次推出。Pascal主要用于GeForce、Quadro和Tesla系列的图形处理单元(GPU)。以下是Pascal架构的一些主要特点:

  • 16nm FinFET制程:Pascal是NVIDIA首个采用16nm FinFET制程的架构,这提高了性能和效能,并减少了功耗。

  • NVIDIA NVLink技术:引入了NVLink技术,这是一种高带宽、低延迟的互联技术,用于连接多个GPU,提供更高效的GPU间通信。

  • 新的SM(Streaming Multiprocessor)架构:Pascal引入了全新的SM设计,称为Pascal SM,相较于之前的架构提供更高的性能和更好的效能。

  • GDDR5X显存支持:Pascal架构首次引入了GDDR5X显存支持,提高了显存带宽,有助于更快的图形渲染和通信速度。

  • Simultaneous Multi-Projection(SMP)技术:引入了SMP技术,可以在单一渲染 pass 中投影多个视图,用于VR(虚拟现实)和多显示器应用。

  • NVIDIA Ansel技术:引入了Ansel技术,用于提供游戏截图和虚拟现实截图的增强功能,提供更高质量的游戏截图。

  • NVIDIA CUDA 8:Pascal架构支持CUDA 8,这是NVIDIA的并行计算平台,使得GPU可以用于通用计算任务。

  • 深度学习性能优化:Pascal架构在硬件级别进行了深度学习性能的优化,引入了Tensor Cores,用于高效执行深度学习计算。

一些代表性的NVIDIA显卡采用了Pascal架构,包括GeForce 10系列和Tesla P100系列。Pascal架构在提高图形性能的同时,强调了对深度学习和虚拟现实等新兴应用领域的支持。

Volta 架构:

NVIDIA的Volta架构是GPU架构的一代,于2017年首次推出。Volta主要用于Tesla系列的高性能计算图形处理单元(GPU)。以下是Volta架构的一些主要特点:

  • Tensor Cores:Volta引入了Tensor Cores,这是一种专门设计用于深度学习任务的硬件单元。Tensor Cores加速矩阵乘法,提高了深度学习性能。

  • 64位浮点精度和32位浮点性能:Volta架构在高性能计算任务中提供了强大的64位浮点精度性能,并在深度学习任务中优化了32位浮点性能。

  • NVLink 2.0:引入了NVLink 2.0技术,提供更高的互联带宽,适用于连接多个GPU进行高性能计算。

  • Unified Memory和Page Migration Engine:Volta继续支持Unified Memory,使得CPU和GPU之间的内存管理更加简化。引入了Page Migration Engine,用于在GPU之间动态移动数据。

  • 新的SM(Streaming Multiprocessor)架构:Volta引入了新的SM设计,称为Volta SM,相较于之前的架构提供更高的性能和效能。

  • 支持16位浮点计算:Volta支持16位浮点计算,提供在一些深度学习任务中的高性能。

  • NVWMI和GPU Boost 3.0:引入了NVWMI(NVIDIA Virtual GPU Management Infrastructure)用于管理虚拟GPU。GPU Boost 3.0技术继续优化GPU的时钟频率。

  • 支持CUDA 9:Volta架构支持CUDA 9,这是NVIDIA的并行计算平台,带来了新的编程功能和性能优化。

一些代表性的NVIDIA Tesla显卡采用了Volta架构,例如Tesla V100系列。Volta架构的主要设计目标是提供卓越的高性能计算和深度学习性能。

Turing 架构:

NVIDIA的Turing架构是GPU架构的一代,于2018年首次推出。Turing主要用于GeForce、Quadro和Tesla系列的图形处理单元(GPU)。以下是Turing架构的一些主要特点:

  • RT Cores:Turing引入了Ray Tracing Cores(RT Cores),用于实时光线追踪。这使得图形渲染可以获得更真实的光影效果。

  • Tensor Cores:与Volta架构相同,Turing继续支持Tensor Cores,用于深度学习任务的硬件加速。

  • SM架构的改进:Turing引入了新的SM(Streaming Multiprocessor)设计,提供更高的性能和效能,并支持并行整数和浮点计算。

  • GDDR6显存支持:Turing架构首次引入了GDDR6显存支持,提高了显存带宽,有助于更快的图形渲染和通信速度。

  • NVIDIA NVLink技术:Turing继续支持NVLink技术,用于高效连接多个GPU进行高性能计算。

  • Unified Memory和NVLink Bridge:Turing架构进一步改进了Unified Memory,同时引入了NVLink Bridge,以提高GPU之间的数据传输效率。

  • Variable Rate Shading(VRS):引入了VRS技术,允许游戏开发者在不同区域应用不同的着色率,提高性能而不影响图形质量。

  • NVIDIA NGX技术:Turing引入了NGX技术,包括DLSS(Deep Learning Super Sampling)和AI增强图形效果,提供更高质量的游戏图形。

一些代表性的NVIDIA显卡采用了Turing架构,包括GeForce 20系列和Quadro RTX系列。Turing架构在引入光线追踪和深度学习技术的同时,进一步优化了图形渲染和游戏性能。

Ampere架构:

Ampere架构是NVIDIA于2020年发布的一款GPU架构。Ampere架构的GPU被针对AI、数据分析和HPC等场景,可在各种规模上实现出色的加速效果。以下是Ampere架构的主要特点:

  • Tensor Cores:新的SM采用第三代Tensor Core,其数据运算速度提升,支持直接操作的数据类型变多,增加细粒度结构化稀疏操作。
  • PCIe4:主机-显卡采用PCIe4,同时支持虚拟化(SR-IOV);
  • NVlink:显卡间通信采用第三代NVlink,带宽600GB/s、通道12,相比上一代速度翻倍;卡内通信速度增加,HBM2 带宽相比V100增加0.73;支持异步拷贝操作,全局内存数据通过L2可直达共享内存。
  • 显存支持:全局显存规格提升到40GB / 80GB,L2存储规格40MB,共享存储可配置164KB/SM。
  • MIG特性:推出MIG特性,支持实例划分,支持7个子GPU实例的创建。
  • 改进错误处理方式:局部处理替代整卡重启的方式,增加异步barrier操作。

Hopper架构:

Ampere架构是NVIDIA于2022年发布的一款GPU架构。Hopper架构是一款非常强大和高效的GPU架构,适用于各种需要高性能计算的场景,特别是AI、数据分析和HPC等领域。

  • 全新的图灵核心:Hopper架构采用了全新的图灵核心,可提供高达8192个CUDA核心,相比上一代GPU的3584个CUDA核心大幅提升了性能。此外,Hopper架构还采用了先进的制程工艺和节能技术,可以在相同的性能下降低功耗。
  • Grace CPU-GPU混合架构:Hopper架构采用了全新的Grace CPU-GPU混合架构,可以实现高效的数据传输和计算资源利用
  • ARM Neoverse N2架构:Grace CPU采用了ARM Neoverse N2架构,可以实现高性能的计算和内存带宽。
  • RTX Tensor Core架构:Hopper架构的Lovelace GPU采用了新的RTX Tensor Core架构,可以实现更高的张量计算性能和更好的深度学习性能。
  • GDDR6X内存技术:Hopper架构的Lovelace GPU采用了全新的GDDR6X内存技术,可以实现更高的内存带宽和更低的延迟,同时还采用了全新的光追加速器,可以实现更高效的光追渲染和更真实的光影效果。
  • 支持多种精度计算:Hopper架构支持多种精度计算,包括FP32、FP64、FP16和INT8等,可以满足不同应用场景的需求。
  • 支持动态精度切换:Hopper架构还支持动态精度切换,可以根据计算需求实时调整计算精度,进一步提高能效比。
  • NVLink:Hopper架构采用了NVLink高速互联技术,可以实现多个GPU之间的高速通信,从而构建大规模的GPU集群,满足各种高性能计算需求。
  • AI应用场景的优化:Hopper架构针对AI应用场景进行了特别优化,包括支持大规模的模型训练、推理和部署等。此外,Hopper架构还支持各种深度学习框架和工具,可以方便地集成到现有的AI生态系统中。

2.AMD GPU 架构:

TeraScale 架构:

TeraScale架构是AMD(前身为ATI)的GPU架构之一,用于早期的Radeon显卡。以下是TeraScale架构的一些主要特点:

  • 统一着色器架构:TeraScale引入了统一着色器架构,这意味着它使用了可编程的着色器单元,包括顶点着色器、像素着色器等。这种架构增加了灵活性和可编程性。

  • 全流水线渲染:架构采用了全流水线渲染,包括顶点处理、几何处理和像素处理等,以支持高性能图形渲染。

  • 多核心设计:TeraScale架构采用了多核心设计,每个核心包含一组着色器单元,以提高并行处理能力。

  • GDDR5显存支持:随着架构的演进,TeraScale开始支持GDDR5显存,提供更高的显存带宽,有助于提高图形渲染性能。

  • HD 5000系列引入:TeraScale架构的一部分是HD 5000系列,其中包括诸如Radeon HD 5870等显卡,这些显卡在推出时在性能和图形特效方面取得了显著的进展。

  • DirectX 11兼容:随着TeraScale架构的发展,支持了Microsoft的DirectX 11 API,这使得这些显卡能够在支持DirectX 11的游戏和应用程序中展现更高级的图形效果。

TeraScale架构是AMD在早期GPU设计中的一次重要尝试,为后续架构的发展奠定了基础。然而,随着技术的不断演进,AMD逐渐过渡到了后续的架构,如GCN(Graphics Core Next)。

GCN 架构 (Graphics Core Next):

Graphics Core Next(GCN)架构是AMD推出的GPU架构之一,用于Radeon系列显卡。以下是GCN架构的一些主要特点:

  • 统一着色器架构:类似于TeraScale架构,GCN架构继续采用统一着色器架构,使得着色器单元可编程,包括顶点着色器、像素着色器等。

  • 异构计算:GCN架构强调异构计算,支持将显卡用于通用计算任务。这使得AMD显卡在GPU计算领域具备竞争力。

  • 超标量架构:GCN采用了超标量架构,其中每个计算单元可以执行多个指令,提高了并行处理能力。

  • 多核心设计:GCN架构引入了多个计算核心,每个计算核心都包含一组着色器单元和流处理器。这些核心以并行方式工作,以提高整体性能。

  • 异步计算:GCN引入了异步计算引擎,允许显卡同时处理多个计算任务,提高了并发性和性能。

  • Heterogeneous System Architecture(HSA):GCN支持HSA,这是一种异构系统架构,允许GPU、CPU和其他加速器更紧密地协同工作。

  • Mantle API:Mantle是AMD开发的图形API,与GCN架构紧密配合,提供更低层次的硬件访问,以优化游戏性能。

  • 支持DirectX 12和Vulkan:GCN架构支持最新的图形API,如Microsoft的DirectX 12和Khronos Group的Vulkan,提供更高效的图形渲染。

GCN架构在AMD显卡中的广泛应用,包括Radeon HD 7000、R9、R7、RX系列等。随着技术的不断进步,AMD后来推出了RDNA(Radeon DNA)架构,作为对GCN的演进,以进一步提高图形性能和能效。

RDNA 架构:

Radeon DNA(RDNA)架构是AMD推出的GPU架构,作为对前一代GCN(Graphics Core Next)架构的演进。RDNA首次亮相于2019年,被用于AMD Radeon RX 5000系列显卡。以下是RDNA架构的一些主要特点:

  • 新的计算单元设计:RDNA引入了全新的计算单元设计,称为Compute Unit(CU)。这种设计旨在提高性能和能效,并支持更多的并行计算。

  • 图形核心和计算核心分离:RDNA将图形核心和计算核心进行了分离,使得图形任务和计算任务可以更有效地并行执行。

  • 支持GDDR6显存:类似于之前的架构,RDNA继续支持GDDR6显存,提供更高的显存带宽,有助于更快的图形渲染和通信速度。

  • Multilevel Cache Hierarchy:RDNA引入了多级缓存层次结构,包括L0、L1和L2缓存。这种层次结构旨在提高内存访问效率。

  • Radeon Image Sharpening(RIS):RDNA架构引入了RIS技术,用于实时图像增强,提供更清晰的游戏图形。

  • FidelityFX:RDNA支持FidelityFX技术,这是一套开放源代码的图形效果工具包,用于游戏开发者优化图形效果。

  • Radeon Anti-Lag:引入了Radeon Anti-Lag技术,用于减少输入延迟,提高游戏的响应性。

  • 支持DirectX 12和Vulkan:RDNA架构继续支持最新的图形API,如Microsoft的DirectX 12和Khronos Group的Vulkan,以提供更高效的图形渲染。

RDNA架构的推出旨在为AMD显卡提供更先进的图形性能和新的图形特性,以满足日益复杂的游戏和计算需求。

CDNA 架构:

Compute DNA(CDNA)架构是AMD为高性能计算而设计的GPU架构。这一架构首次亮相于AMD Instinct MI100加速器卡,该卡专注于数据中心和科学计算。以下是CDNA架构的一些主要特点:

  • Matrix Core技术:CDNA引入了Matrix Core技术,这是一种专为深度学习任务而设计的硬件。Matrix Core通过提供高性能的16位浮点运算,加速了深度神经网络(DNN)的训练和推理。

  • Infinity Fabric技术:Infinity Fabric是AMD用于连接多个计算设备的技术,支持高性能的通信和协同工作。在CDNA架构中,Infinity Fabric用于连接GPU核心和其他处理单元,以实现高效的数据交换。

  • 支持PCI Express 4.0:CDNA架构支持PCI Express 4.0标准,提供更高的数据传输带宽,有助于提高与主机系统的通信速度。

  • GPU Infinity Architecture:CDNA采用GPU Infinity Architecture,该架构旨在提供更高的性能和能效,支持大规模科学计算和深度学习任务。

  • Cache Hierarchy优化:CDNA进行了高级的缓存层次结构优化,以提高内存访问效率,有助于大规模并行计算任务。

  • 支持HBM2(High Bandwidth Memory 2):类似于之前的GPU架构,CDNA支持HBM2显存,提供更大的内存带宽,适用于大规模计算任务。

  • CDNA与RDNA的分离:在AMD架构中,CDNA用于高性能计算,而RDNA用于图形任务。这种分离旨在更好地满足两者不同领域的需求。

CDNA架构的推出使AMD能够提供适用于不同领域的多样化GPU解决方案,同时专注于高性能计算和深度学习等领域的需求。

这些GPU架构的不断演进旨在提高图形渲染、并行计算和深度学习等方面的性能和效率。不同的架构有不同的特性和适用场景,选择取决于具体的应用需求。

RDNA 3架构

AMD于2022年11月3日发布了基于新一代RDNA 3架构的Radeon RX 7900 XTX和Radeon RX 7900 XT显卡,以下是RDNA 3架构架构的一些特点:

  • 时钟频率和能效比:RDNA 3架构采用了先进的工艺和设计技术,提高了时钟频率和能效比,可以提供出色的图形性能和计算能力。
  • 无限缓存(Infinity Cache):RDNA 3引入了无限缓存(Infinity Cache)的概念,这是一种全新的缓存类型,能够显著提升GPU的内存带宽,进而提高GPU的性能。
  • 支持DP2.1接口:RDNA 3架构支持DP2.1接口,能够提供更高的数据传输速率,从而提高了显示性能。
  • 双发射64位SIMD:RDNA 3架构的计算单元也进行了升级,采用了全新的双发射64位SIMD,可以提供更高的计算效率。
  • 支持光线追踪技术:RDNA 3架构支持光线追踪技术,可以提供更加逼真的游戏画面效果。
  • 支持多种API:RDNA 3架构支持多种API,包括DirectX、Vulkan等,可以方便地集成到现有的游戏和应用程序中。

RDNA 3架构是AMD公司推出的最新GPU架构,具有出色的性能和能效比,适用于各种高性能计算和图形渲染应用。