NVIDIA在去年9月发布了基于AdaLovelace架构的GPU,此前GeForceRTX和RTX已相继上市,分别搭载的是AD和AD。不过对于大部分游戏玩家来说,这两款定位高端的显卡虽然性能强劲,但定价较高,并非是其首选的产品。进入年后,NVIDIA带来了定位更低的GeForceRTXTi,更为贴近主流。
GeForceRTXTi搭载的是ADGPU,起售价格为元。与GeForceRTX/不同的是,RTXTi没有FoundersEdition产品,首批上市的都是NVIDIA合作伙伴的非公显卡。
GeForceRTXTi规格
NVIDIA在发布AdaLovelace架构GPU的时候就公布了三颗GPU,分别是RTX所用的AD,RTX所用的AD,以及这次RTXTi所用的是AD,拥有完整的5组GPC,每个含有6个TPC,共30组TPC,每组有两个SM单元,共60组。
与完整的AD核心相比,RTXTi上用的AD-少了两个NVDNC和一个NVENC,完整AD应该是三个NVENC与三个NVDNC的,估计完整规格要在专业显卡上才会使用。
和更高一级的RTX相比,RTXTi的SM单元从76组减少至60组,CUDACores数量从个降低至个,TensorCores与RTCores数量也有相应减少,L2缓存从KB降至KB。相对应的,晶体管数量从亿个减少到亿个,因此芯片面积也变小了。
RTXTi的显存位宽相比RTX是有所下降,从bit降至bit,依然使用GDDR6X显存,不过显存数据速率也从22.4Gbps降低至21Gbps,整体显存带宽从.8GB/s降至GB/s,显存容量从16GB减少到12GB。其Boost频率为MHz,相比RTX更高,而整卡TGP为W,比RTX低了35W,推荐电源功率也从W降低至W。
AdaLovelace架构解析
SM架构图
到了SM单元里面,会发现其整体的结构也是与上一代Ampere架构一模一样,分为四个一样的主要计算模块,一个RT光追核心,以及KB一级数据缓存/共享内存等。每个主要的计算模块内的结构也和Ampere架构一样,有64KB寄存器文件、零级指令缓存、一个Warp调度器、一个分配单元、16个FP32单精度浮点CUDA核心、16个FP32/INT32单精度浮点和整数混合CUDA核心、一个TensorCore张量核心、四个载入存储单元、一个特殊功能单元(SFU)用于执行图形差值指令。
差别也很明显,那就是RTCore光追核心从之前的第二代升级到第三代,TensorCore张量核心也从第三代升级到第四代。
第三代RTCore有效光追算力是上代3倍
全新的第三代RTCore可以提供2倍的光线与三角形求交性能,并且加入了两个全新的重要硬件单元,即OpacityMicro-Map引擎和DisplacedMicro-Mesh引擎。
OpacityMicro-Map引擎将光线追踪的Alpha-Test几何性能提升2倍;而全新的DisplacedMicro-Mesh引擎可动态生成微网格,以产生额外的几何图形。DisplacedMicro-Mesh引擎可在提升几何图形丰富度的同时,不以传统复杂几何图形处理的性能和存储成本为代价。
DisplacedMicro-Mesh引擎
光线追踪的计算是以光线射向一个平面这样的模型来计算的,而实际的渲染中物体几乎不会是简单的平面型,而是各种曲面,所以就需要将曲面分解成许多个小的三角形平面,然后计算光线与三角形求交。在Ampere架构上,面对一个复杂的曲面,如果想得到逼真的光线追踪效果,那么分解的三角形平面是非常多的,多个三角形平面带来非常复杂的BVH,这就非常难以计算。
AdaLovelace架构的处理方式就不一样,通过DisplacedMicro-Mesh引擎,它将这些三角形平面仅通过一个三角形然后加上不同的位移图来表达,显著缩短了BVH的构建时间,同时BVH的存储空间需求也减小了很多,而最终仍然能实现一样的光线追踪最终渲染效果。
实际应用中由于DisplacedMicro-Mesh引擎的存在,面对复杂物体的渲染,BVH的构建速度可以超过15倍,而存储空间的需求却可以小20倍之多,越是复杂的物体该引擎的优势就越能体现。
而且DisplacedMicro-Mesh引擎不止可以应用在游戏领域,对于创作领域的用户来说,也有软件会支持,目前Adobe、Simplygon这两家企业已经确认得到了支持。
OpacityMicro-Map引擎
OpacityMicro-Map引擎则是可以对游戏中常见的树叶这类物体加速光线追踪计算,Ampere架构面对这种场景的Alpha-Test需要多个着色器来进行计算,而OpacityMicro-Map引擎对于这种不透明的对象进行了不透明度的编码,可以更准确的对物体边缘进行光线追踪计算,简化了叶子轮廓之外完全透明和叶子轮廓之内完全不透明的区域的计算,耗费更少的着色器就可以实现真实的光线追踪渲染。
以《传送门》RTX版这个游戏为例,OpacityMicro-Map引擎可以让Gbuffer填充速度加快30%,游戏帧率提高10%。
在这些改进下,第三代RTCore可以使完整的AdaLovelace架构核心具有TFLOPS的有效光线追踪计算能力,几乎是上代产品的三倍。
第四代Tensor核心性能超上代5倍
第四代TensorCore最主要的变化是新增了HopperFP8TransformerEngine,可提供1TFLOPS的张量处理性能,可以说深度学习性能得到了巨大的飞跃,这也意味着通过它可以实现新的技术想法,后面的DLSS3我们会再次提到TensorCore的功劳。
DLSS3作为这次NVIDIA大力宣传的重点,相信大家都急不可耐想深入的了解这个技术,但是为了更清楚的了解DLSS3,还要先介绍两个新东西,那就是着色器执行重排序(SER)和OpticalFlowAccelerator光流加速器。
着色器执行重排序(SER)提高光追并行效率
着色器执行重排序技术的重大作用是可以极大的提升光线追踪性能,这是与CPU的乱序执行一样的重大创新。
由于光线追踪的特性,它很难并行处理,因为光线会向各个方向反射,并与各种类型的表面相交,所以光线追踪的工作负载需要不同的线程处理,需要不同的着色器,并且需要不同的显存来存取中间的计算过程。
GPU的特点就是适合并行处理,只有面对并行处理的任务才可以发挥GPU的特点获得更好的计算效率,而着色器执行重排序就是可以通过实时重新调度任务,即时重新安排着色器负载来提高执行效率,从而更好地利用GPU资源,以实现更佳的光线追踪性能,据称,SER可以为光线追踪带来最高可达3倍的性能提升,整体游戏性能提升可高达25%。
应用了着色器执行重排序(SER)之后,《赛博朋克》在全景光线追踪模式下可以提高44%的性能,《传送门》RTX版可以提高29%的性能,《RacerRTX》可以提高20%的性能。
Ada光流加速器算力可超TFLOPS
回看前面的完整核心图,可以看到左上角清晰的标出了OpticalFlowAccelerator,也就是光流加速器,而尽管之前的Ampere架构中没有提及,但同样也是具备的。不同的是,AdaLovelace架构中大大增加了光流加速器的运算性能,从之前Ampere架构的TFLOPS增加到现在的TFLOPS(详细值是TFLOPS)。
Ada的光流加速器带来的巨大的性能提升,具有更广泛的实用性了,使DLSS3能够更准确预测场景中的运动,使神经网络能够在保持图像质量的同时提高帧率。前面提到的第四代TensorCore的1TFLOPS的张量处理性能,加上这里AdaLovelace光流加速器TFLOPS的光流运算性能,再加上后方的NVIDIA超级计算机提供的超过1ExaFLOPS的AI计算性能,这三者就组成了这一代DLSS3的硬件层面基础。
DLSS3全方位提升流畅度、延迟和画质
新一代的DLSS3包括全新的帧生成技术、DLSS2超分辨率技术和NVIDIAReflex技术,与之对应的游戏中,这三个都启用了才算是完整地开启了DLSS3。
其中帧生成必须RTX40系列GPU才能支持,超分辨率则是RTX40/30/20系列都支持,Reflex的要求最低是GTX系列及以后的GPU。总得来说,DLSS3是提升游戏体验的一整套解决方案,也就是说对于游戏体验的三要素:流畅度、延迟和画质。DLSS3是全方位的提升,而不是以拆东墙补西墙的方式。
DLSS3的帧率
之前的DLSS2,提升帧率的方式简单说就是以低分辨率渲染,然后通过AI训练重建高分辨率画面返回输出,比如我们将游戏设置成4K,打开DLSS,那么实际的计算过程是先以p分辨率渲染帧画面,然后AI学习经过训练的更高分辨率的帧再将这个帧画面压缩到4K最终输出,中间相差的这3/4部分的像素信息是通过AI计算来添加的(本地主要是TensorCore来计算)。由于以低分辨率渲染,所以在AI补充像素的性能足够的情况下,帧率自然可以提高了。
这样的方式无法突破CPU性能的瓶颈,毕竟降低原始渲染分辨率可以使得GPU每一帧的计算量更少,但是CPU每一帧的计算量是不变化的(因为CPU负责计算的部分与分辨率并无关系)。实际上,由于帧率提高,最终CPU的计算量还增大了。
那么DLSS3是怎么做的呢?
首先,还是与DLSS2一样,比如输出4K游戏画面的话,它也是先降低原始渲染分辨率到p,然后通过AI计算来添加像素再压缩成4K画面。在连续的游戏画面中,我们就可以通过这样得到连续的4K帧画面,第1帧、第2帧、第3帧等等。
然后这样的每两帧之间,DLSS3通过光流加速器为神经网络提供像素级的帧到帧的运动方向和速度信息,然后通过分析前一帧和当前帧几何图形和像素的运动矢量并将其输入至神经网络,就能计算出两帧中间的帧画面了。
实现超越CPU限制的帧数
这样连续下去的话,原本的第1帧、第2帧、第3帧中间都会有一个新的帧,等于实际最终输出的帧画面中,有1/2是没有CPU参与的,完全是GPU计算出来的,所以理论上可以将原本受限于CPU性能的游戏帧率提高一倍。
另外,我们去