图灵架构特性解析

图灵架构特性解析

在一个月前NVIDIA发布了最新架构的GPU图灵(Turing)。这一代的图灵架构我个人认为真的是一个有历史意义的革命性产品。我们也自豪的为图灵写出了“Graphics Reinvented”这样略显浮夸的标语。但是实际上图灵架构带来的新特性的确无论从创新程度和数量来说都应该是近十年来最大的一次飞跃,连经典的GeForce GTX也在图灵这一代被改名成为GeForce RTX。

如果还没有看过上个月图灵和RTX的发布会的童鞋一定要看一看:

图灵架构发布会(SIGGRAPH 2018)

NVIDIA® GeForce RTX™ 官方发布会 (GamesCon18)


在这篇博文里我会简单的介绍一下图灵架构带提供的新的与开发者直接相关的可编程特性。更详细的介绍以及更多架构的底层实现细节以及性能对比可以参考NVIDIA官方的博客以及Whitepaper:

NVIDIA Turing Architecture In-Depth | NVIDIA Developer Blog

NVIDIA Turing Architecture Whitepaper


实时光线追踪

图灵上最劲爆的新特性无疑就是加入了专门用于加速光线追踪的RTCore,用专有的硬件来加速了传统光线追踪算法中的光线在加速结构BVH的遍历,以及光线和三角形的求交测试(Ray Triangle Intersection Test)。因为RTCore,光线追踪在图灵架构上的效率大大提高,在GDC发布的Star Wars Demo原本需要用价值7万美金的DGX Station才能实时运行,而如今在一块几百美金的图灵GPU上可以达到比原先用DGX Station的四块Titan V运行更高的性能。

有了RTCore对于光线追踪求交操作接近一个数量级的加速,再配合上NVIDIA RTX提供突破性的各种图像重建技术(Image Reconstruction/Denoising)对于光线追踪渲染采样率需求一到两个数量级的减少,以及微软的DirectX Ray Tracing(DXR)API,实时光线追踪的时代在2018年正式开始了!相信在不久的将来在游戏以及各种CAD,可视化的程序中都会见到光线追踪的影子。事实上,在发布当天许多近期发售的AAA大作就已经宣布了对光线追踪的支持,例如古墓丽影暗影(Shadows of the Tomb Raider),战地5(Battlefield V)以及其他十几款游戏。

关于实时光线追踪的介绍,可以参考我在3月份写的这一篇博文:

也可以参考一下我在NVIDIA官方博客上发表的这篇文章:

我还会在最近更新一篇新的文章重点介绍实时光线追踪渲染以及相关的图像重建、降噪技术。想着重了解光线追踪技术的童鞋的可以关注一下。英文好的童鞋也可以直接听听我在SIGGRAPH2018给的光线追踪渲染相关的Talk:

Low Sample Count Ray Tracing with NVIDIA's Ray Tracing Denoisers by Edward Liu, NVIDIA

还记得我们在今年GDC发布RTX之后,许多参展的童鞋都到我们的展台来问我什么时候才能在消费者级别的游戏显卡上也支持实时光线追踪,那时候因为需要对新架构保密,我都只能回答“大概还需要至少5到10年”。结果就在半年之后,我们就发布了图灵架构,并且一块几百美金的GPU就可以更流畅的运行半年前需要7万美金的超级计算服务器才能运行的实时光线追踪渲染程序,可以说是震惊了业界吧。


Deep Learning Super Sampling(DLSS,深度学习超采样)

除了RTCore,图灵架构提供的另一种加速硬件就是Tensor Core。Tensor Core专门用于加速深度学习所需要大规模矩阵运算操作,我们最早在Volta架构上就加入了这个硬件。图灵则是第一个有Tensor Core消费级别的GeForce显卡。

Tensor Core对于图形渲染程序的意义包括,但不仅限于极大的提升基于深度学习方法的图像处理的在GPU上的执行效率。现代的所有渲染引擎在执行光照相关的计算之后都极大的依赖于各类后期处理(Post Processing)操作去把画面处理的更加好看,例如Bloom,Lens Flare,Motion Blur或者Temporal AA。Tensor Core的存在使得我们有更多的计算性能来使用基于神经网络的算法来提升这些后处理的能力。

相信大家在这两年已经见过不少算法可以用神经网络对图片做智能的super resolution,把一张输入的低分辨率图片智能的超采样成高分辨率图片。DLSS就是用基于深度学习的算法,对渲染后的图像序列做一个上采样的操作,这样就可以用低分辨率渲染的性能打到非常高分辨率渲染的画质。

除了DLSS,Tensor Core也能被用于处理光线追踪的图像重建、去噪。Optix AI Denoiser就可以直接用Tensor Core来加速。当然我们也会研究其他的能结合Tensor Core的算法。


Mesh Shading

除了光线追踪以及DLSS这两个在发布会上被反复提及的特性,图灵其实还提供了数个对于基于传统光栅化渲染管线优化的创新特性。

第一个新Feature就是Mesh Shading。这一个feature为光栅化的管线的几何处理部分提供了一种全新的可能性。那就是直接用类似Compute Shader的新Pipeline Stage取代掉了原有固定管线中的Vertex,Tessellation以及Geometry Shader。

Mesh Shader的输入是Vertex Buffer和Index Buffer,输出的内容则会直接被Rasterizer所使用。用类似Compute Shader的方式处理顶点数据,将不再会像传统的Vertex Shader那样,每一个线程固定的处理每一个顶点,现在每一个线程可以访问任意的顶点,并且每个线程直接还可以实用线程间通信的指令,灵活性大大增加。

Mesh Shading非常强大,它的灵活性使得我们可以把许多几何的可见性Culling以及LOD计算都在GPU上更加高效的并行执行,从而提升程序的性能,或者大大提升渲染程序的几何复杂度。


Variable Rate Shading (VRS)

第二个新feature是Variable Rate Shading。这个feature可以说是之前在Maxwell以及Pascal上针对VR应用设计的MultiRes Shading以及Lens Matched Shading的最通用版本。

开发者现在可以指定画面上任意区域的着色频率。某些像素可以每个像素着色一次,某些其他区域则可以至多支持4x4=16个像素着色一次。

至于具体如何指定着色频率,则完全交给开发者控制。

这个功能有许多潜在的应用,最直接的当然是对VR应用做类似Lens Matched Shading那样的操作,在画面中心部位采用比边角更高的着色率。

其他的潜在应用例如根据屏幕上的内容决定着色频率(Content Adaptive),例如某些特别远的背景,或者某些材质特别平滑的物体,也许在非常低的着色频率下也不影响用户的观感。

最后,也可以根据画面上物体的运动速度决定着色频率(Motion Adaptive)。对于快速运动的物体,因为最后在后处理阶段大多也会被模糊掉,所以也可以采用更粗糙的着色频率。


Texture-Space Shading(TSS)

下一个Feature是Texture-Space Shading。对于传统的光栅化管线来说,光栅化阶段的可见性测试和着色的频率是一致的。每个光栅后的Fragment会生成一个Shading的任务,如下图。

图灵提供将屏幕空间的可见性采样以及着色采样解耦(decouple)的选项,直接在物体的纹理空间进行着色。

这种Texture Space的着色也和Renderman渲染器中使用的经典的Reyes算法类似。

一个TSS的用例是针对VR Stereo Rendering中,对于View-Independent的内容,可以只在纹理空间只着色一遍,然后在渲染时只要对于左眼以及右眼重新采样(re-sampling)到屏幕空间。

TSS开放了一个全新的计算空间。将着色(Shading)从屏幕空间解耦出来给开发者提供了许多新算法的可能。例如许多Image Reconstruction的算法在屏幕空间处理会有各种屏幕空间的artifact例如leaking,在Texture Space进行sampling和filtering在某些情况下会得到比屏幕空间更好的渲染质量以及效率。


Multi-View Rendering (MVR)

MVR则是另一个针对VR程序的优化,拓展了Pascal架构里的Single Pass Stereo(SPS)功能。SPS支持在多个View直接在x方向移动顶点,MVR则更灵活的允许一个几何体在多个完全不同的view中一次性渲染。这个功能除了VR应用,也可以用来加速一些需要用多个pass来渲染相同几何物体的算法,例如cascaded shadow maps。


总结

对于我个人来说,图灵真的是诚意满满的一代,仅仅是Mesh Shading,Variable Rate Shading,Texture Space Shading等等这些创新点已经是足够撑起一代新架构了,然而在这些之上图灵还提供了硬件加速的光线追踪的RTCore,硬件加速深度学习的Tensor Core。随之而来的是革命性的新渲染管线以及方式,以及开启了真正次时代的渲染画质已经内容生产效率的大门。我个人也对能对如此革命性的GPU的研发做出贡献而感到无比骄傲。

编辑于 2018-09-17 15:16