一、GPU的定义和内部结构:

GPU(graphics processing unit)图形处理器,又称显示核心、视觉处理器、显示芯片,是一种在个人电脑、工作站、游戏机和一些移动设备(如平板电脑、智能手机等)上做图像和图形相关运算工作的微处理器。

与CPU不同,GPU可以形象地理解为90%的ALU(运算单元),5%的Control(控制单元)、5%的Cache(缓存)。

GPU通常包括图形显存控制器、压缩单元、BIOS、图形和计算整列、总线接口、电源管理单元、视频管理单元、显示界面。

GPU的出现使计算机减少了对CPU的依赖,并解放了部分原本CPU的工作。

在3D图形处理时,GPU采用的核心技术有硬件T&L(几何转换和光照处理)、立方环境材质贴图和顶点混合、纹理压缩和凹凸映射贴图、双重纹理四像素256位渲染引擎等,而硬件T&L技术可以说是GPU的标志。

图:GPU的内部组成部分

CPU和GPU的差异可以描述在下面表格中:

我们日常讨论GPU和显卡时,经常混为一谈,严格来说是有所区别的。

GPU是显卡(Video card、Display card、Graphics card)最核心的部件,但除了GPU,显卡还有扇热器、通讯元件、与主板和显示器连接的各类插槽。

对于PC桌面,生产GPU的厂商主要有两家:

NVIDIA:英伟达,是当今首屈一指的图形渲染技术的引领者和GPU生产商佼佼者。

NVIDIA的产品俗称N卡,代表产品有GeForce系列、GTX系列、RTX系列等。

AMD:既是CPU生产商,也是GPU生产商,它家的显卡俗称A卡。代表产品有Radeon系列。

NVIDIA和AMD也都生产移动端、图形工作站类型的GPU。

此外,生产移动端显卡的厂商还有ARM、Imagination 、高通等公司。

众所周知,CPU的发展符合摩尔定律:18个月速度翻倍。

而NVIDIA创始人黄仁勋在很多年前曾信誓旦旦地说,GPU的速度和功能要超越摩尔定律,6个月就翻一倍。

NV的GPU发展史证明,他确实做到了!

GPU的提速幅率远超CPU!

NV GPU架构历经多次变革,从起初的Tesla架构发展到最新的Turing架构,发展史可分为以下时间节点:

2008 – Tesla

Tesla最初是给计算处理单元使用的,应用于早期的CUDA系列显卡芯片中,并不是真正意义上的普通图形处理芯片。

2010 – Fermi

Fermi是第一个完整的GPU计算架构。首款可支持与共享存储结合纯cache层次的GPU架构,支持ECC的GPU架构。

2012 – Kepler

Kepler相较于Fermi更快,效率更高,性能更好。

2014 – Maxwell

其全新的立体像素全局光照 (VXGI) 技术首次让游戏 GPU 能够提供实时的动态全局光照效果。基于 Maxwell 架构的 GTX 980 和 970 GPU 采用了包括多帧采样抗锯齿 (MFAA)、动态超级分辨率 (DSR)、VR Direct 以及超节能设计在内的一系列新技术。

2016 – Pascal

Pascal 架构将处理器和数据集成在同一个程序包内,以实现更高的计算效率。1080系列、1060系列基于Pascal架构

2017 – Volta

Volta 配备640 个Tensor 核心,每秒可提供超过100 兆次浮点运算(TFLOPS) 的深度学习效能,比前一代的Pascal 架构快5 倍以上。

2018 – Turing

Turing 架构配备了名为 RT Core 的专用光线追踪处理器,能够以高达每秒 10 Giga Rays 的速度对光线和声音在 3D 环境中的传播进行加速计算。

Turing 架构将实时光线追踪运算加速至上一代 NVIDIA Pascal™ 架构的 25 倍,并能以高出 CPU 30 多倍的速度进行电影效果的最终帧渲染。2060系列、2080系列显卡也是跳过了Volta直接选择了Turing架构。GPU架构的共性

纵观上一节的所有GPU架构,可以发现它们虽然有所差异,但存在着很多相同的概念和部件,如下图:

部分架构的GPU与CPU类似,也有多级缓存结构:寄存器、L1缓存、L2缓存、GPU显存、系统显存。

它们的存取速度从寄存器到系统内存依次变慢,如下图:

由此可见,shader直接访问寄存器、L1、L2缓存还是比较快的,但访问纹理、常量缓存和全局内存非常慢,会造成很高的延迟。

上面的多级缓存结构可被称为“CPU-Style”,还存在GPU-Style的内存架构:

这种架构的特点是ALU多,GPU上下文(Context)多,吞吐量高,依赖高带宽与系统内存交换数据。

GPU微架构概述:

(Micro Architecture)

GPU的微架构是一种给定的指令集和图形函数集合在处理器中执行的方法。

图形函数主要用于绘制各种图形所需要的运算。当前和像素、光影处理、3D坐标变换等相关运算由GPU硬件加速来实现。相同的指令集和图形函数集合可以在不同的微架构中执行,但实施的目的和效果可能不同。

优秀的微架构对GPU性能和效能的提升发挥着至关重要的作用,GPU体系是GPU微架构和图形API的集合。

以英伟达安培微架构为例,GPU微架构的运算部份由流处理器(Stream Processor,SP);

纹理单元(Texture mapping unit, TMU);

张量单元(Tensor Core);

光线追踪单元(RT Cores);

光栅化处理单元(ROPs)组成。

这些运算单元中,张量单元/光线追踪单元由NVIDIA在伏特/图灵微架构引入。

除了上述运算单元外,GPU的微架构还包含L0/L1操作缓存;

Warp调度器;

分配单元(Dispatch Unit);

寄存器堆(register file);

特殊功能单元(Special function unit,SFU);

存取单元;

显卡互联单元(NV Link);

PCIe总线接口;

L2缓存;

二代高位宽显存(HBM2)等接口。

详解微架构SP、ROPs、TMU

GPU的流处理器单元是NVIDIA对其统一架构GPU内通用标量着色器的命名。

SP单元是全新的全能渲染单元,是继Pixel Pipelines(像素管线)和Vertex Pipelines(顶点管线)之后新一代的显卡渲染技术指标。

SP单元既可以完成VS(Vertex Shader,顶点着色器)运算,也可以完成PS(Pixel Shader,像素着色器)运算,而且可以根据需要组成任意VS/PS比例,从而给开发者更广阔的发挥空间。

流处理器单元首次出现于DirectX 10时代的G80核心的Nvidia GeForce 8800GTX显卡,是显卡发展史上一次重大的革新。

之后AMD/ATI的显卡也引入了这一概念,但是流处理器在横向和纵向都不可类比,大量的流处理器是GPU性能强劲的必要非充分条件。

深度了解GPU—定义、结构、架构迭代、微架构、功能及发展趋势

纹理映射单元(TMU)作为GPU的部件,它能够对二进制图像旋转、缩放、扭曲,然后将其作为纹理放置到给定3D模型的任意平面,这个过程称为纹理映射。

纹理映射单元不可简单跨平台横向比较,大量的纹理映射单元是GPU性能强劲的必要非充分条件。

光栅化处理单元(ROPs)主要负责游戏中的光线和反射运算,兼顾AA、高分辨率、烟雾、火焰等效果。

游戏里的抗锯齿和光影效果越厉害,对ROPs的性能要求就越高,否则可能导致帧数的急剧下降。NVIDIA的ROPs单元是和流处理器进行捆绑的,二者同比例增减。在AMD GPU中,ROPs单元和流处理器单元没有直接捆绑关系。

详解微架构光线追踪单元和张量单元:

消费GPU的实时光线追踪在2018年由英伟达的“图灵”GPU首次引入。

光追单元(RT Cores)在此过程中发挥着决定性的作用。

图灵GPU的光追单元支持边界体积层次加速,实时阴影、环境光、照明和反射,光追单元和光栅单元可以协同工作,进一步提高帧数和阴影的真实感。

光追单元在英伟达的RTX光线追踪技术、微软DXR API、英伟达Optix API和Vulkan光追API的支持下可以充分发挥性能。拥有68个光追单元的RTX2080Ti在光线处理性能上较无光追单元的GTX1080Ti强10倍。

张量单元(Tensor Core)在2017年由英伟达的Volta“伏特”GPU中被首次引入。张量单元主要用于实时深度学习,服务于人工智能,大型矩阵运算和深度学习超级采样(DLSS),可以带来惊人的游戏和专业图像显示,同时提供基于云系统的快速人工智能。

图:英伟达图灵架构GPU张量单元提供多精度AI

GPU的功能:

现代GPU除了绘制图形外,还担当了很多额外的功能,综合起来如下几方面:

1.图形绘制:

这是GPU最传统的拿手好戏,也是最基础、最核心的功能。为大多数PC桌面、移动设备、图形工作站提供图形处理和绘制功能。

2.物理模拟:

GPU硬件集成的物理引擎(PhysX、Havok),为游戏、电影、教育、科学模拟等领域提供了成百上千倍性能的物理模拟,使得以前需要长时间计算的物理模拟得以实时呈现。

3.海量计算:

计算着色器及流输出的出现,为各种可以并行计算的海量需求得以实现,CUDA就是最好的例证。

4.AI运算:

近年来,人工智能的崛起推动了GPU集成了AI Core运算单元,反哺AI运算能力的提升,给各行各业带来了计算能力的提升。

5.其它计算:

音视频编解码、加解密、科学计算、离线渲染等等都离不开现代GPU的并行计算能力和海量吞吐能力。

推测GPU发展的趋势:

1.硬件升级。更多运算单元,更多存储空间,更高并发,更高带宽,更低延时。。。

2.Tile-Based Rendering的集成。基于瓦片的渲染可以一定程度降低带宽和提升光照计算效率,目前部分移动端及桌面的GPU已经引入这个技术,未来将有望成为常态。

3.3D内存技术。

目前大多数传统的内存是2D的,3D内存则不同,在物理结构上是3D的,类似立方体结构,集成于芯片内。可获得几倍的访问速度和效能比。

4.GPU愈加可编程化。GPU天生是并行且相对固定的,未来将会开放越来越多的shader可供编程,而CPU刚好相反,将往并行化发展。也就是说,未来的GPU越来越像CPU,而CPU越来越像GPU。

难道它们应验了古语:

合久必分,分久必合么?

5.实时光照追踪的普及。

基于Turing架构的GPU已经加入大量RT Core、HVB、AI降噪等技术,Hybrid Rendering Pipeline就是此架构的光线追踪渲染管线,能够同时结合光栅化器、RT Core、Compute Core执行混合渲染:

Hybrid Rendering Pipeline相当于光线追踪渲染管线和光栅化渲染管线的合体:

6.数据并发提升、深度神经网络、GPU计算单元等普及及提升。

7.AI降噪和AI抗锯齿。

AI降噪已经在部分RTX系列的光线追踪版本得到应用,而AI抗锯齿(Super Res)可用于超高分辨率的视频图像抗锯齿。

8.基于任务和网格着色器的渲染管线。基于任务和网格着色器的渲染管线(Graphics Pipeline with Task and Mesh Shaders)与传统的光栅化渲染光线有着很大的差异,它以线程组(Thread Group)、任务着色器(Task shader)和网格着色器(Mesh shader)为基础,形成一种全新的渲染管线。

二、GPU参数

1.GPU型号:如NVIDIA GeForce RTX 3080,AMD Radeon RX 6700 XT等

2.显存容量:显存容量决定着显存临时存储数据的多少,大显存能减少读取数据的次数,降低延迟;6GB、8GB、24GB、48GB

3.显存频率:显存频率指显存在显卡上工作时的频率,以MHz(兆赫兹)为单位。显存频率一定程度上反应着该显存存取的速度。1600MHz、1800MHz、3800MHz、5000MHz等

4.显存位宽:是显存在一个时钟周期内所能传送数据的位数,位数越大则瞬间所能传输的数据量越大,这是显存的重要参数之一。64、128、192、256、384、512

5.显存带宽:显存带宽指的是显示芯片与显存之间的数据传输速率,单位是GB/s。

显存带宽=工作频率×显存位宽/8bit。

显存带宽和显存频率及显存位宽成正比。

6.纹理填充率:指显卡在每个单位时间内所能处理的纹理贴图数量,单位是GTexel/s(每秒十亿纹理)。

纹理填充率=核心频率×纹理单元数目/1000

7.像素填充率:指显卡在每个单位时间内所能渲染的像素数量,单位是GPixel/s(每秒十亿像素),显卡的硬件指标对其速度具有直接影响。

像素填充率=核心频率×光栅单元数目/1000

8.浮点性能:代表显卡的浮点计算能力,越高算力越强,深度学习、科学计算用途较多。

9.流处理器:也叫渲染管、着色器,负责处理像素点的渲染工作。

10.RT核心:光追核心,用于光线追踪效果。

三、GPU推荐

1.NVIDIA RTX 3080:具有最佳性能和高端价格,适用于需要最高性能的专业用户或游戏玩家。

2.NVIDIA RTX 3070:具有相对较低的价格和性能,适用于一般游戏玩家或需要中高端性能的用户。

3.NVIDIA GTX 1660 Super:具有性价比较高的性能,适用于需要入门级游戏或图形处理能力的用户。

4.NVIDIA GTX 1650:具有较低的价格和性能,适用于需要入门级游戏或图形处理能力的用户。

5.AMD Radeon RX 5700 XT:与NVIDIA RTX 3080性能相当,但价格较为实惠,适用于需要高性能游戏或图形处理能力的用户。

6.AMD Radeon RX 5600 XT:具有较低的价格和性能,适用于需要中端游戏或图形处理能力的用户。

此外,如果需要更专业的GPU,可以考虑NVIDIA Quadro RTX系列、AMD Radeon Pro WX系列等。

Quadro RTX GPU:

2018年8月,英伟达发布了NVIDIA Quadro RTX 8000、6000和5000。

这是全球首款光线追踪GPU,也是首款基于Turing 图灵架构的GPU。其为设计师和艺术家带来实时的逼真场景渲染,为其工作流程增添AI能力。

2018年11月,NVIDIA推出了中端Quadro RTX GPU——Quadro RTX 4000,将实时光线追踪带给全球更广泛的开发者、设计者和艺术工作者。

随后,NVIDIA又推出了专为高端笔记本电脑和移动工作站设计的Quadro RTX 3000.

2、台式工作站中的Quadro

由 NVIDIA 设计、打造和测试的 Quadro台式机产品创意和技术用户的理想之选。Quadro 配备了GPU、大容量内存、多路 5K 显示输出、推动实现 VR 环境等功能。

2、笔记本电脑中的Quadro

Quadro可为轻薄型移动工作站提供桌面级工作站的性能。使用搭载了Quadro的笔记本电脑,用户可以随时随地轻松处理复杂的数据集,以交互方式渲染逼真图像、开发逼真的VR体验。

3、Quadro RTX服务器

Quadro RTX服务器为数据中心的按需渲染定义了全新标准,它可以轻松配置按需渲染节点,以进行批量渲染或交互式渲染。该服务器将 Quadro RTX GPU 与新款 Quadro Infinity 软件相结合,能够提供强大而灵活的架构。

4、Quadro 虚拟数据中心工作站(Quadro vDWS)

Quadro vDWS可以随时随地将数据中心或云端虚拟工作站的强大性能带给普通设备。创意和技术专业人员可以随时随地使用普通设备访问高要求的应用程序,处理更大的数据集,同时满足更高的安全性需求。

5、Quadro赋力的数据科学工作站

NVIDIA数据科学工作站专为数据分析、机器学习和深度学习而设计,提供了极强的计算性能和工具。它基于参考架构搭建,该架构由两颗Quadro RTX GPU和CUDA-X AI加速数据科学软件构成。借助NVLink互联技术,双Quadro RTX 8000和6000 GPU可实现高达260 teraflops的计算性能和96GB的内存,解决计算密集型工作负载。