New Turing GPU Architecture (TU-102)
Here we will take a look at some snippets from the Nvidia provided documentation and add our own responses where we feel necessary to best explain our understanding as to how these new features can help you. Company PR information will be in Italics so you can differentiate it from the information we are delivering.
The new Turing core is nothing short of badass. When you look at it on paper it more closely mirrors a professional series GPU or compute die rather than it does a standard consumer grade gaming GPU as we have come to know them. Turing has a completely new SM (Streaming Multiprocessor) which deploys many new shading technologies including but not limited to:
- Mesh Shading
offering efficiency gains by moving the normally CPU heavy object list processing to the much more efficient parallel GPU mesh shading. This enables new forms of LOD along with better management of vertex, tesselation and geometry shading.
- Variable Rate Shading (VRS)
VRS is a very potent tool as it now allows developers to adjust shading from as little as once per 16 pixels to as much as 8 times per pixel depending on the need and if the shading would result in any visible quality changes. This means that shading could be more efficient by not wasting time working on pixels that are not necessary, hence more GPU power to assign to pumping out frames. there are many types of VRS including one which has gotten some attention in the VR space by utilizing eye position to shade areas where you are focusing called Foveated Rendering.
- Texture space shading
This method allows a texture space to be assigned to a shaded object which can be stored in memory and therefore when texture work is needed to be done it can be pulled to reference which will in terms lighten the overall shader load by evaluating work that is already done and extrapolating a proper result with less heavy lifting.
- Multi-View Rendering (MVR)
This is a step past what we saw with Pascal and the SPS or Single Pass Stereo which on Pascal allowed rendering of two views that shared same Y and Z axis but were at an X offset. MVR allows for multiple different views to be rendered in a single pass even if they are based on completely different origins.