当前位置:产品评测>>配件>>>正文

Nvidia安培VS AMD RDNA 2:体系结构之战

时间:2020/12/6 8:01:00 | 作者:Nick Evanson | 来源:techspot

对于GPU发烧友来说,这是一个漫长的等待。英伟达让图灵线持续使用了两年,然后在2020年9月用安培取代了图灵线。AMD则更仁慈一些,在他们的新设计之间留出了15个月的间隔,但大多数人对此并不感兴趣。
他们想看到的是AMD推出一款高端机型,与NVIDIA的最佳机型展开正面竞争。他们就是这么做的,现在我们已经看到了结果,PC游戏玩家现在被宠坏了选择(至少理论上是这样),当涉及到花他们的美元购买性能最好的显卡。
但是驱动它们的芯片呢?其中一个从根本上比另一个好吗?
请继续阅读,看看安培和rDNA2是如何决斗的!
注意这是一篇很长的文章。使用此索引对其进行导航。。。
文章索引
节点和芯片尺寸
安培GA102和rDNA2 Navi21的总体结构
芯片内部的一切是如何组织的
Nvidia方式计算核心
射线追踪
内存系统,多级缓存
呈现管道,SAM,RTX IO
多媒体引擎,流媒体
为电脑而建,为游戏而建
Nvidia萎缩,AMD增长
节点和芯片尺寸
多年来,高端GPU一直比CPU大得多,而且它们的尺寸一直在稳步增长。AMD最新产品的面积约为520 mm2,是之前Navi芯片的两倍多。不过,这并不是他们最大的--这一荣誉要归功于他们新推出的Instinct MI100加速器中的GPU,大约750 mm2。
AMD上一次制造接近Navi21大小的游戏处理器是为Radeon R9 Fury和Nano卡准备的,它们在斐济芯片中搭载了GCN3.0架构。芯片面积为596 mm2,但它是在台积电的28HP工艺节点上制造的。
自2018年以来,AMD一直在使用台积电小得多的N7工艺,该生产线上最大的芯片是Vega 20(如Radeon VII中所示),面积为331 mm2。他们所有的Navi GPU都是在这一进程的一个稍微更新的版本上制造的,称为N7P,所以这使得比较这些产品。
Radeon R9 Nano:微型卡,海量GPU
但是说到纯粹的芯片尺寸,Nvidia占据了皇冠,并不是说这一定是一件好事。最新的基于安培的芯片GA102,面积为628 mm2。它实际上比它的前身TU102小了17%--那款GPU的芯片面积达到了惊人的754平方毫米。
与NVIDIA用于人工智能和数据中心的巨大的GA100芯片相比,这两款GPU的尺寸都相形见绌,其面积为826 mm2,是台积电的N7芯片。虽然从未设计用于驱动桌面图形卡,但它确实显示了GPU制造的规模是可能的。
把它们并排放在一起,就凸显了NVIDIA最大的GPU是多么的笨重。Navi21看起来相当苗条,尽管处理器不仅仅是芯片面积。GA102封装了大约283亿个晶体管,而AMD的新芯片则少了5%,只有268亿个晶体管。
我们不知道的是每个GPU是由多少层构成的,所以我们能比较的只有晶体管与管芯面积的比例,典型的称为管芯密度。Navi21大约每平方毫米5150万个晶体管,但GA102则明显低于41.1个--这可能是NVIDIA的芯片堆叠比AMD的高一点,但这更有可能是工艺节点的指示。
正如已经提到的,Navi21是由台积电制造的,使用他们的N7P生产方法,这提供了一个小的提高性能比N7;但是对于他们的新产品GA102,Nvidia转向了三星的生产职责。这家韩国半导体巨头正在使用一个经过调整的版本,特别是针对Nvidia,他们所谓的8纳米节点(标记为8N或8NN)。
这些节点值7和8与芯片组件的实际尺寸几乎没有关系:它们只是市场术语,用于区分不同的生产技术。也就是说,即使GA102具有比Navi 21更多的层,管芯尺寸确实具有一个特定的影响。
正在台积电制造厂测试的300毫米(12英寸)晶圆。
微处理器和其他芯片是由高度精炼的硅和其他材料制成的大圆盘,称为晶圆片。台积电和三星为AMD和Nvidia使用300毫米晶圆,每张光盘使用较小的管芯相比较大的管芯将产生更多的芯片。
这种差异不太可能是巨大的,但当每一块晶圆的生产成本高达数千美元时,AMD在压低制造成本方面比Nvidia有一点优势。当然,这是假设三星或台积电没有与AMD/NVIDIA进行某种金融交易。
如果芯片本身并不擅长于它们的设计功能,那么所有这些芯片尺寸和晶体管数量的恶作剧都将是徒劳的。因此,让我们深入挖掘每一个新的GPU的布局,看看他们的头罩下面是什么。
解剖模具
安培GA102和rDNA2 Navi21的总体结构
我们从安培GA102和rDNA2 Navi21 GPU的整体结构开始对架构的探索--这些图并不一定向我们展示所有东西是如何物理布局的,但它们给出了处理器有多少组件的清晰指示。
在这两种情况下,布局都是非常熟悉的,因为它们本质上是它们的前辈的扩展版本。添加更多的单元来处理指令总是会提高GPU的性能,因为在最新的3D大片中,在高分辨率下,渲染工作负载涉及大量的并行计算。
这样的图表是有用的,但是对于这种特殊的分析,实际上更有趣的是查看GPU管芯中的各个组件本身的位置。在设计大规模处理器时,您通常希望共享资源,例如位于中心位置的控制器和缓存,以确保每个组件都具有相同的路径。
接口系统,例如本地内存控制器或视频输出,应该位于芯片边缘,以便更容易地将它们连接到数以千计的单独导线上,这些导线将GPU连接到图形卡的其余部分。
下面是AMD的Navi21和NVIDIA的GA102芯片的假彩色图像。这两个都经过了一些图像处理来清理图像,而且这两个都只显示了芯片内的一层;但它们确实给了我们一个现代GPU内部的绝佳视角。
这两种设计之间最明显的区别是,Nvidia没有采用集中式的芯片布局方式--所有的系统控制器和主缓存都在底部,逻辑单元以长列形式运行。他们过去也这样做过,但仅限于中低端车型。
例如,Pascal GP106(用于类似GeForce GTX 1060的产品中)实际上是GP104(来自GeForce GTX 1070)的一半。后者是较大的芯片,其缓存和控制器在中间;这些移动到旁边的兄弟姐妹,但只是因为设计已经分裂。
Pascal GP104 vs GP106。资料来源:Fritzchens Fritz
对于他们之前所有的高端GPU布局,Nvidia使用了经典的集中式组织。那么为什么这里会发生变化呢?这不可能是接口原因,因为内存控制器和PCI Express系统都在芯片边缘运行。
这也不是因为散热原因,因为即使芯片的高速缓存/控制器部分比逻辑部分更热,您仍然希望芯片中间的部分周围有更多的硅,以帮助吸收和散热。虽然我们不完全确定这一变化的原因,但我们怀疑这与Nvidia在芯片中实现的ROP(渲染输出)单元有关。
稍后我们将更详细地讨论这些问题,但现在我们只想说,尽管布局上的改变看起来很奇怪,但它不会对性能产生重大影响。这是因为3D渲染被大量的长延迟所困扰,通常是因为必须等待数据。因此,由于某些逻辑单元比其他逻辑单元离高速缓存更远而增加的纳秒数,都隐藏在事物的大格局中。
在我们继续前进之前,有必要说明一下AMD在Navi21布局中实施的工程更改,与Radeon RX5700 XT之类的Navi10相比。尽管新芯片在面积和晶体管数量上都比早期芯片大了一倍,但设计人员还设法提高了时钟速度,而没有显著增加功耗。
例如,Radeon RX 6800 XT的基本时钟和升压时钟分别为1825 MHz和2250 MHz,TDP为300 W;Radeon RX 5700 XT的相同指标为1605 MHz,1905 MHz和225 W.Nvidia也以安培的速度提高了时钟速度,但这部分可归因于使用更小,更高效的处理节点。
我们对安培和rDNA2卡进行的每瓦性能测试表明,这两家厂商在这方面都取得了显著的改进,但AMD和台积电取得了相当显著的成绩--比较上图中Radeon RX 6800和Radeon VII之间的差异。
后者是他们第一次使用N7节点的GPU合作,在不到两年的时间里,他们将每瓦性能提高了64%。如果Nvidia留在台积电为他们的生产职责,安培GA102可能会有多大的进步,这确实是个问题。
管理GPU工厂
芯片内部的一切是如何组织的
当涉及到指令处理和管理数据传输时,安培和rDNA2都遵循着类似于芯片内部组织一切的模式。游戏开发人员使用图形API编码他们的标题,以制作所有的图像;它可能是Direct3D,OpenGL或Vulkan。这些本质上是软件库,装满了规则,结构和简化指令的“书”。
AMD和Nvidia为他们的芯片创建的驱动程序本质上是翻译程序:将通过API发布的例程转换成GPU可以理解的操作序列。在此之后,就完全由硬件来管理事情了,包括先执行什么指令,芯片的哪一部分执行指令,等等。
指令管理的这一初始阶段由一组单元处理,合理地集中在芯片中。在rDNA2中,图形和计算机着色器通过单独的流水线路由,这些流水线调度和分派指令到芯片的其余部分;前者称为图形命令处理器,后者称为异步计算引擎(简称ACE)。
Nvidia只是用一个名字来描述他们的管理单元,GigaThread Engine,在安培,它做的任务与rDNA2相同,尽管Nvidia并没有说太多它是如何实际管理的。总之,这些命令处理器的功能相当像工厂的生产经理。
GPU的性能来自于并行处理所有的事情,因此下一级的组织在整个芯片上都是重复的。与工厂类比,这类似于一个企业有一个中央办公室,但有多个生产地点。
AMD使用标签着色引擎(SE),而Nvidia称他们的图形处理集群(GPC)--不同的名称,相同的角色。
对芯片进行这种划分的原因很简单:命令处理单元不能处理所有的事情,因为它最终会过于庞大和复杂。因此,将一些日程安排和组织职责进一步推进是有意义的。这还意味着每个分离分区可以完全独立于其他分区来做一些事情--因此,一个分区可以处理大量的图形着色器,而其他分区则需要处理长而复杂的计算机着色器。
在rDNA2的情况下,每个SE都包含自己的一组固定功能单元:设计用来执行一个特定任务的电路,程序员通常无法对其进行大量调整。
原始设置单元--使顶点准备好处理,以及生成更多(镶嵌)和剔除它们
光栅化器--将三角形的3D世界转换为像素的2D网格
渲染输出--读取,写入和混合像素
基元设置单元以每个时钟周期1个三角形的速率运行。这可能听起来不太像,但不要忘记,这些芯片运行在1.8-2.2GHz之间的任何地方,所以原始的设置应该永远不会成为GPU的瓶颈。对于安培,基本单元位于组织的下一层,我们将很快介绍这一点。
AMD和Nvidia都没有说太多关于他们的光栅器。后者称它们为光栅引擎,我们知道它们每个时钟周期处理1个三角形,并吐出大量像素,但没有进一步的信息可供参考,例如它们的亚像素精度。
Navi 21芯片中的每个SE支持4个8个ROP的存储库,导致总共128个渲染输出单元;NVIDIA的GA102封装了每个GPC的8个ROP的2个存储库,因此全芯片运动112个单元。这可能看起来AMD在这里有优势,因为更多的ROPs意味着更多的像素可以处理每个时钟。但是这样的单元需要很好地访问缓存和本地内存,我们将在本文后面详细介绍这一点。现在,让我们继续看看SE/GPC分区是如何进一步划分的。
AMD的着色引擎被划分为双计算单元(DCU),Navi21芯片本身有10个DCU--注意,在一些文档中,它们也被归类为工作组处理器(WGP)。在安培和GA102的情况下,它们被称为纹理处理集群(TPCs),每个GPU包含6个TPCs。NVIDIA设计中的每一个集群都包含一个叫做多形引擎的东西--本质上是安培的原始设置单元。
虽然NVIDIA的GPU的时钟比AMD的低,但是NVIDIA的TPC比Navi21的SES多得多。因此,对于相同的时钟速度,GA102应该有一个显著的优势,因为完整的芯片拥有42个原始设置单元,而AMD的新rDNA2只有4个。但是由于每个光栅引擎有6个TPC,GA102实际上有7个完整的原始系统,而Navi21只有4个。由于后者并没有比前者高出75%,所以在几何图形处理方面,Nvidia似乎明显领先(虽然没有游戏可能会在这方面受到限制)。
芯片组织的最后一层是rDNA2中的计算单元(CUs)和安培中的流式多处理器(SMs)--我们GPU工厂的生产线。
这些都是GPU大饼中的肉和蔬菜,因为它们包含了所有用于处理图形,计算的高度可编程单元,现在还有光线跟踪着色器。正如您在上图中看到的,每一个都占据了整个芯片空间的很小一部分,但它们仍然极其复杂,并且对芯片的整体性能高度重要。
到目前为止,这两个GPU的布局和组织方式还没有什么严重的问题--名称完全不同,但它们的功能大同小异。由于它们的很多功能都受到可编程性和灵活性的限制,因此它们之间的任何优势都归结于一种规模感,即哪一个功能最大。
但是对于CUs和SMs,AMD和Nvidia采取了不同的方法来处理着色器。在某些方面,它们有很多共同点,但在其他许多方面却并非如此。
Nvidia方式计算核心
由于安培在RDNA 2之前就冒险进入野外,我们先来看看NVIDIA的短信。现在看芯片本身的图像是没有意义的,因为它们不能告诉我们芯片内部的具体内容,所以让我们使用组织图。这些并不是表示芯片中各种元件的物理排列方式,只是表示每种元件的数量。
图灵是对其桌面前身Pascal的实质性改变(失去了一堆FP64单元和寄存器,但获得了张量内核和光线追踪),安培实际上是一个相当温和的更新--至少从表面上看是这样。然而,对于NVIDIA的营销部门来说,新设计将每个SM中的CUDA核心数量增加了一倍以上。
在图灵中,流式多处理器包含四个分区(有时称为处理块),每个分区容纳16x INT32和16x FP32逻辑单元。这些电路设计用于对32位数据值进行非常具体的数学运算:INT单元处理整数,FP单元处理浮点数,即十进制数。
Nvidia声称一个安培SM总共有128个CUDA核心,但严格地说,这是不真实的--或者如果我们必须坚持这个数量,那么图灵也是如此。该芯片中的INT32单元实际上可以处理浮点值,但仅限于极少量的简单操作。对于安培,Nvidia已经开放了他们支持的浮点数学运算的范围,以匹配其他FP32单元。这意味着每个SM的CUDA核心总数并没有真正改变;只是他们中的一半现在有了更多的能力。
每个SM分区中的所有内核在任何时间处理相同的指令,但是由于INT/FP单元可以独立操作,安培SM每个周期最多可以处理128x FP32计算,或者一起处理64x FP32和64x INT32操作。在图灵身上,只是后者。
因此,新的GPU有可能将FP32的输出量提高一倍。对于计算工作负载,特别是在专业应用程序中,这是一个很大的进步;但对于游戏来说,好处就会小得多。当我们第一次测试GeForce RTX 3080时,这一点就很明显了,它使用的是GA102芯片,启用了68条短信。
尽管其峰值FP32吞吐量比GeForce 2080 Ti高121%,但帧速率仅平均提高31%。那么,为什么要浪费所有的计算能力呢?简单的答案是不是,但是游戏并不是一直在运行FP32指令。
2018年Nvidia发布图灵时,他们指出平均一个GPU处理的指令中约有36%涉及INT32例程。这些计算通常用于计算存储器地址,两个值之间的比较以及逻辑流/控制。
因此,对于这些操作,双速率FP32特性无法发挥作用,因为具有两个数据路径的单元只能执行整数或浮点运算。并且只有当SM分区当时处理的所有32个线程都有相同的FP32操作时,它才会切换到此模式。在所有其他情况下,安培中的分区就像图灵中的分区一样运行。
这意味着,当在INT+FP模式下工作时,GeForce RTX 3080仅比2080 Ti具有11%的FP32优势。这就是为什么在游戏中看到的实际性能增长并没有原始数据所显示的那么高的原因。
其他改进?每个SM分区的张量核较少,但每个张量核的能力都比图灵中的要强得多。这些电路执行非常特定的计算(例如将两个FP16值相乘,并将结果与另一个FP16数累加),现在每个内核每个周期执行32个此类操作。
他们还支持一个新的特性,叫做细粒度结构化稀疏性,在不涉及所有细节的情况下,本质上这意味着通过剪除不影响答案的数据,数学率可以翻倍。同样,这对于从事神经网络和人工智能工作的专业人士来说是个好消息,但目前,对于游戏开发者来说并没有什么显著的好处。
光线追踪核心也进行了调整:它们现在可以独立于CUDA核心工作,所以当它们进行BVH遍历或光线图元交集数学时,SM的其余部分仍然可以处理着色器。RT内核中处理光线是否与基元相交测试的部分性能也提高了一倍。
RT核心还运动额外的硬件,以帮助应用光线跟踪运动模糊,但这一功能目前只暴露于NVIDIA的专有Optix API。
虽然还有其他的调整,但总体的方法是一种明智而稳定的发展,而不是一个重大的新设计。但考虑到图灵的原始功能在一开始并没有什么特别的问题,看到这一点也不足为奇。
那么AMD呢--他们对rDNA2中的计算单元做了什么?
追踪光线奇妙
从表面上看,AMD在计算单元方面没有太大变化--它们仍然包含两组SIMD32向量单元,SISD标量单元,纹理单元和各种缓存的堆栈。在数据类型和相关的数学运算方面有一些变化,稍后我们将详细介绍这些变化。对于一般消费者来说,最显著的变化是AMD现在为光线追踪中的特定例程提供硬件加速。
CU的这一部分执行射线盒或射线三角交叉检查--与RT内核相同,单位为安培。然而,后者也加速了BVH遍历算法,而在rDNA2中,这是通过使用SIMD32单元的计算着色器完成的。
不管一个人有多少着色器核心,或者它们的时钟速率有多高,采用定制的电路设计只做一个工作总是要比通用的方法更好。这就是GPU最初被发明的原因:渲染世界中的一切都可以使用CPU来完成,但是它们的一般性质使它们不适合于此。
RA单元紧挨着纹理处理器,因为它们实际上是同一个结构的一部分。早在2019年7月,我们就报道了AMD提交的一项专利的出现,该专利详细说明了使用“混合”方法来处理光线追踪中的关键算法。。。
虽然这个系统确实提供了更大的灵活性,并且消除了当有光线追踪工作负载时需要有部分芯片不做任何事情的需要,AMD的第一个实现这个确实有一些缺点。其中最值得注意的是纹理处理器在任意时刻只能处理涉及纹理或光线-基元交点的操作。
鉴于NVIDIA的RT核心现在完全独立于SM的其余部分运行,这似乎会给安培一个明显的领先地位,与RNDA 2相比,当涉及到磨削通过加速结构和交叉测试所需的射线追踪。
虽然我们只是简单地考察了AMD最新显卡中的光线追踪性能,但到目前为止,我们确实发现使用光线追踪的影响很大程度上取决于正在玩的游戏。
例如,在第5档中,Radeon RX 6800(使用Navi 21 GPU的60 CU变体)仅有17%的帧率命中,而在《古墓丽影的阴影》中,这上升到了52%的平均损失。相比之下,NVIDIA的RTX3080(使用68 SM GA102)在两款游戏中的平均帧率损失分别为23%和40%。
一个更详细的分析光线追踪是需要说任何更多关于AMD的实现,但作为第一次迭代的技术,它确实看起来有竞争力,但敏感的应用程序是做光线追踪。
如前所述,rDNA2中的计算单元现在支持更多的数据类型;最值得注意的是低精度数据类型,如INT4和INT8。这些用于机器学习算法中的张量运算,虽然AMD为AI和数据中心提供了一个单独的架构(CDNA),但此更新用于DirectML。
这个API是微软DirectX12系列的最新添加,硬件和软件的结合将为光线追踪和时间提升算法中的去噪提供更好的加速。在后者的情况下,Nvidia有自己的,当然,称为DLSS。他们的系统使用SM中的张量核来执行部分计算,但是考虑到可以通过DirectML构造类似的过程,这些单元似乎有些多余。然而,在图灵和安培中,张量核也处理所有涉及FP16数据格式的数学运算。
对于rDNA2,这样的计算是使用着色器单元完成的,使用打包数据格式,即每个32位向量寄存器保存两个16位1。那么哪种方法更好呢?AMD将他们的SIMD32单元标记为向量处理器,因为它们为多个数据值发出一条指令。
每个向量单元包含32个流处理器,由于每个流处理器只处理单个数据,所以实际操作本身本质上是标量的。这本质上与以安培为单位的SM分区相同,其中每个处理块也在32个数据值上携带一条指令。
但是,在NVIDIA的设计中,整个SM每个周期最多可以处理128个FP32 FMA计算(融合乘加),而单个rDNA2计算单元只能处理64个FP32 FMA计算。使用FP16将此值提高到128 FMA/周期,这与执行标准FP16数学运算时的安培张量内核相同。
NVIDIA的SMs可以同时处理整数值和浮点数值的指令(例如64个FP32和64个INT32),并具有用于FP16运算,张量数学和光线跟踪例程的独立单元。AMD的CUs承担了SIMD32单元上的大部分工作负载,尽管它们确实有支持简单整数数学的独立标量单元。
因此,安培似乎在这方面具有优势:GA102的SMs比Navi21的CUs更多,而且它们在峰值吞吐量,灵活性和提供的功能方面都有更大的优势。但AMD有一个相当不错的把戏牌在他们的袖子里。
喂那些饥饿的河马
内存系统,多级缓存
拥有一个拥有数千个逻辑单元的GPU,所有的逻辑单元都能通过精妙的数学进行运算,这一切都是很好的,但如果它们不能足够快地获得所需的指令和数据,它们就会在海上挣扎。这两种设计都具有丰富的多级缓存,拥有巨大的带宽。
我们先来看看安培的。总体而言,内部发生了一些显著变化。2级缓存的数量增加了50%(图灵TU102分别支持4096 kB),每个SM中的1级缓存的大小都增加了一倍。
与前面一样,安培L1高速缓存是可配置的,就可以为数据,纹理或一般计算机使用分配多少高速缓存空间而言。但是,对于图形着色器(例如顶点,像素)和异步计算,缓存实际上设置为:
64 kB用于数据和纹理
48 kB用于共享通用内存
16 kB为特定操作保留
只有在完全计算模式下运行时,L1才变得完全可配置。在好的方面,可用带宽也增加了一倍,因为高速缓存现在每个时钟可以读/写128个字节(尽管还不知道延迟是否也得到了改善)。
内部内存系统的其余部分在安培数上保持不变,但当我们移动到GPU之外时,就会有一个美好的惊喜等待我们。Nvidia与DRAM制造商Micron合作,使用GDDR6的修改版本来满足他们的本地内存需求。这基本上仍然是GDDR6,但数据总线已被完全取代。GDDR6X采用四个电压,而不是采用传统的每引脚1位设置,即信号在两个电压(又称PAM)之间快速反弹:
GDDR6中的PAM2(上)与GDDR6X中的PAM4(下)
通过这种改变,GDDR6X每个引脚每个周期有效传输2位数据,因此,对于相同的时钟速度和引脚数,带宽增加一倍。GeForce RTX 3090支持24个GDDR6X模块,在单通道模式下运行,额定值为19 Gbps,峰值传输带宽为936 Gb/s。
这比GeForce RTX2080 Ti增加了52%,不能轻视。这样的带宽数字在过去只有通过使用HBM2之类的器件才能实现,与GDDR6相比,HBM2的实现成本较高。
然而,只有Micron公司生产这种存储器,PAM4的使用增加了生产过程的复杂性,需要更严格的信号公差。AMD走了一条不同的道路--他们没有向外部机构寻求帮助,而是利用他们的CPU部门将一些新的东西带到桌面上。rDNA2的整体记忆系统与它的前身相比没有太大的变化--只有两个主要的变化。
每个着色器引擎现在有两组1级缓存,但是由于它们现在支持两个双计算单元库(RDNA刚刚有一个),这种改变是可以预料的。但是把128 MB的三级缓存塞进GPU?这让很多人感到惊讶。利用SRAM设计的L3高速缓存发现在他们的EPYC系列的Zen 2服务器芯片,AMD已经嵌入两套64 MB高密度高速缓存到芯片。数据事务由16组接口处理,每个接口每个时钟周期移位64字节。
所谓的无限高速缓存有自己的时钟域,最高可运行1.94GHz,峰值内部传输带宽为1986.6Gb/s。而且因为它不是外部DRAM,所以所涉及的延迟非常低。这样的高速缓存非常适合存储射线跟踪加速结构,而且由于BVH遍历涉及大量的数据检查,因此无限高速缓存应该对此有显著的帮助。
两个64 MB条带的Infinity Cache和Infinity Fabric系统
目前,还不清楚rDNA2中的3级缓存是否与Zen2 CPU中的运行方式相同:即作为2级受害者缓存。通常情况下,当需要清除最后一级缓存以为新数据腾出空间时,对该信息的任何新请求都必须转到DRAM。
受害者高速缓存存储的数据已经被标记为从下一层内存中移除,在现有128 MB的情况下,无限高速缓存可以潜在地存储32个完整的二级高速缓存集。该系统减少了对GDDR6控制器和DRAM的需求。
AMD的老式GPU设计一直在努力解决内部带宽不足的问题,特别是当它们的时钟速度提高之后,但是额外的缓存将会让这个问题逐渐淡出背景。
那么这里哪种设计更好呢?GDDR6X的使用为GA102提供了巨大的本地内存带宽,更大的高速缓存将有助于减少高速缓存未命中的影响(这会阻碍线程的处理)。Navi21的海量3级缓存意味着DRAM不必经常被点击,并且利用GPU在更高的时钟速度下运行的能力,而不会出现数据饥饿。
AMD坚持使用GDDR6的决定意味着有更多的内存来源可供第三方供应商使用,与此同时,任何生产GeForce RTX3080或3090的公司将不得不使用Micron。虽然GDDR6有多种模块密度,但GDDR6X目前仅限于8 GB。
RDNA 2中的高速缓存系统可以说是一种比安培中使用的更好的方法,因为与外部DRAM相比,无论后者的带宽如何,在给定的电源包络下,使用多级片上SRAM总是能提供更低的延迟和更好的性能。
GPU的来龙去脉
呈现管道
这两种体系结构都对呈现管道的前端和后端进行了大量更新。安培和rDNA2在DirectX12 Ultimate中完全运动网格着色器和可变速率着色器,尽管NVIDIA的芯片确实有更多的几何性能,感谢其更多的处理器用于这些任务。
虽然网格着色器的使用将使开发者能够创建更加逼真的环境,但是没有一款游戏的性能会完全受制于渲染过程中的这个阶段。这是因为大部分最困难的工作是在像素或光线跟踪阶段。
这就是使用可变速率着色器发挥作用的地方--基本上,这个过程涉及到在像素块上应用着色器来照明和颜色,而不是单独的着色器。这类似于为了提高性能而降低游戏的分辨率,但由于它只适用于选定的区域,因此视觉质量的损失并不明显。
但是这两个体系结构也都更新了渲染输出单元(ROPs),因为这将提高高分辨率下的性能,无论是否使用可变速率着色器。Nvidia在其所有前几代GPU中,都将ROP与内存控制器和2级高速缓存绑定在一起。
在图灵中,8个ROP单元(统称为分区)直接链接到一个控制器和缓存的512 kB片。添加更多的ROP会产生一个问题,因为它需要更多的控制器和缓存,因此对于安培,ROP现在完全分配给GPC。GA102运动12 ROP每个GPC(每一个处理1个像素每个时钟周期),给了总共112个单元的完整芯片。
AMD遵循与NVIDIA旧方法类似的系统(即绑定到内存控制器和二级高速缓存片),尽管他们的ROP主要使用一级高速缓存进行像素读/写和混合。在Navi21芯片中,他们得到了急需的更新,每个ROP分区现在处理8个像素在32位彩色每周期,4个像素在64位。
Nvidia还与安培一起推出了RTX IO,这是一种数据处理系统,允许GPU直接访问存储驱动器,复制所需的数据,然后使用CUDA内核进行解压缩。不过,目前该系统还不能用于任何游戏,因为Nvidia正在使用DirectStorage API(另一个DirectX12增强版)来控制它,而且还没有准备好公开发布。
目前使用的方法包括让CPU管理所有这些:它接收来自GPU驱动程序的数据请求,将数据从存储驱动器复制到系统内存,解压缩,然后将其复制到图形卡的DRAM。
除了这涉及大量浪费复制的事实之外,这种机制本质上是串行的--CPU一次处理一个请求。Nvidia声称数据吞吐量达到了100倍,CPU利用率降低了20倍,但在实际测试之前,这些数据还不能进一步研究。
当AMD推出rDNA2和新的Radeon RX6000显卡时,他们推出了一种叫做智能存取存储器的东西。这不是他们对NVIDIA的RTX IO的回答--事实上,它甚至不是一个真正的新功能。默认情况下,CPU中的PCI Express控制器最多可以为每个访问请求寻址256 MB的图形卡内存。
该值由基址寄存器(BAR)的大小设置,早在2008年,PCI Express 2.0规范中就有一个可选特性,允许调整其大小。这样做的好处是,为了寻址整个卡的DRAM,必须处理的访问请求较少。
该功能需要操作系统,CPU,主板,GPU及其驱动程序的支持。目前,在Windows PC上,系统仅限于Ryzen 5000 CPU,500系列主板和Radeon RX 6000显卡的特定组合。
当我们测试时,这个简单的功能给出了一些令人吃惊的结果--4K时15%的性能提升是不可轻视的,所以Nvidia表示他们将在不久的将来为RTX3000系列提供这个功能也就不足为奇了。
至于是否为其他平台组合推出了可调整大小条形图支持还有待观察,但它的使用肯定是受欢迎的,尽管它本身并不是安培/rDNA2的架构特性。
视频杀死了电台明星
多媒体引擎,视频输出
GPU世界通常由核心数,TFLOPS,Gb/s和其他引人注目的指标来主导,但由于YouTube内容创建者和直播游戏流的崛起,显示和多媒体引擎功能也相当引人注目。
随着支持超高刷新率的显示器价格的下降,对超高刷新率(所有分辨率)的需求不断增长。两年前,一台144赫兹4K 27英寸HDR显示器要花掉你2,000美元;如今,你可以用几乎一半的价格买到类似的东西。
两种架构均通过HDMI 2.1和DisplayPort 1.4a提供显示输出。前者提供更多的信号带宽,但两者的额定频率均为4K(240 Hz,HDR)和8K(60 Hz)。这是通过使用4:2:0色度二次采样或DSC 1.2A实现的。这些是视频信号压缩算法,提供了带宽需求的显著降低,而没有太多的视觉质量损失。如果没有它们,即使HDMI2.1的6 Gb/s峰值带宽也不足以以6 Hz的速率传输4K图像。
48英寸LG CK OLED显示器--120赫兹4K需要HDMI 2.1
安培和rDNA2还支持可变刷新率系统(AMD的FreeSync,Nvidia的G-Sync),当涉及到视频信号的编码和解码时,这里也没有明显的区别。
无论您查看哪种处理器,您都会发现支持8K AV1,4K H.264和8K H.265解码,尽管它们在这种情况下的性能究竟如何还没有得到彻底的研究。两家公司都没有给出更多关于他们的显示器和多媒体引擎的实际内部细节。虽然它们现在很重要,但仍然是GPU的其余部分吸引了所有的注意力。
各有所好
为电脑而建,为游戏而建
GPU历史的发烧友们会知道,AMD和Nvidia过去在架构选择和配置上采取了相当不同的做法。但是随着3D图形越来越多地被计算机世界和API的同质化所支配,它们的总体设计也越来越相似。
而不是今天的游戏对渲染的需求为架构定下基调,而是GPU产业已经扩展到的市场部门在指引方向。在撰写本文时,Nvidia公司有三款采用安培技术的芯片:GA100,GA102和GA104。
GA104可在GeForce RTX 3060 Ti中找到
最后一个只是GA102的精简版--它只是每个GPC有更少的TPC(总共少了一个GPU)和三分之二的二级缓存。其他一切都一模一样。另一方面,GA100是一个完全不同的野兽。
它没有RT内核,也没有支持INT32+FP32的CUDA内核;相反,它包含了大量额外的FP64单元,更多的加载/存储系统,以及大量的L1/L2缓存。它也没有任何显示器或多媒体引擎;这是因为它完全是为人工智能和数据分析的大规模计算集群而设计的。
然而,GA102/104需要覆盖Nvidia瞄准的其他所有市场:游戏爱好者,专业图形艺术家和工程师,以及小型人工智能和计算机工作。安培需要成为“万事通”,精通所有行业--这可不是一件容易的事。
750 mm2的大角星CDNA怪物
rDNA2的设计只是为了游戏,在个人电脑和游戏机上,尽管它也可以把它的手转向相同的领域,安培销售。然而,AMD选择保持他们的GCN架构不变,并针对当今专业客户的需求进行更新。
rDNA2孕育出了“大纳维”,CDNA可以说孕育出了“大织女星”--本能MI100内置了Arcturus芯片,这是一个500亿美元的晶体管GPU,可支持128个计算单元。和NVIDIA的GA100一样,它也不包含显示器和多媒体引擎。
虽然Nvidia凭借Quadro和Tesla模式在专业市场上占据了很大的主导地位,但Navi21这样的产品并不是为了与这些产品竞争,而是经过了相应的设计。这也使rDNA2成为更好的结构;安培要适应多个市场的要求是否以任何方式限制了它?
当你看证据时,答案似乎是:不。
AMD不久将发布Radeon RX 6900 XT,它使用完整的Navi21(没有CUs禁用),性能可能与GeForce RTX 3090或更好。但是该卡中的GA102也没有完全启用,所以Nvidia总是可以选择用“超级”版本更新该模型,就像他们去年对图灵所做的那样。
可以说,因为rDNA2正在Xbox系列X/S和PlayStation5中使用,游戏开发者将会更青睐于这种架构,而不是他们的游戏引擎。但你只需看看GCN在Xbox One和PlayStation4中使用的时间,就能知道它的效果如何。
2013年,前者的第一个版本使用了围绕GCN1.0架构构建的GPU,这种设计直到第二年才出现在桌面PC显卡中。2017年发布的Xbox One X采用了GCN 2.0,一个成熟的设计到那时已经有3年多的历史了。
那么,是不是所有为Xbox One或PS4制作的游戏在AMD显卡上都能自动运行得更好呢?他们没有。因此,尽管rDNA2具有令人印象深刻的特性,但我们不能假设这次rDNA2会有所不同。
但这些最终都无关紧要,因为这两种GPU设计都具有超乎寻常的能力,都是半导体制造中所能实现的奇迹。Nvidia和AMD带来了不同的工具,因为他们试图解决不同的问题;安培的目标是成为所有人的一切,rDNA2主要是关于游戏。
这一次,战斗已经进入了胶着状态,尽管每个人都可以宣称在特定的一两个地区取得胜利。GPU大战将在明年继续,一个新的参战者将加入这场战争:英特尔,他们的Xe系列芯片。至少我们不用再等两年看这场战斗如何进行!
购物快捷方式:
Amazon上的Nvidia GeForce RTX 3090
Amazon上的Nvidia GeForce RTX 3080
AMD Radeon RX 6800 XT在亚马逊上
AMD Radeon RX 6800在亚马逊上
Amazon上的Nvidia GeForce RTX 3070
Amazon上的Nvidia GeForce RTX 3060 Ti

您可能感兴趣的文章:

相关文章