AMD talks Primitive Shader vs. Mesh Shader, Neural Graphics

Marees

2[H]4U
Joined
Sep 28, 2018
Messages
2,081
AMD senior execs including head of Radeon Technologies Group, David Wang, sat down with 4Gamer , 2 months ago, to talk about their future GPU strategy including the RDNA 4 graphics architecture.

https://www-4gamer-net.translate.go...083/?_x_tr_sl=auto&_x_tr_tl=en&_x_tr_hl=en-GB
(Change detected language to Japanese)



1. Primitive Shader as hardware exists in everything from Radeon RX Vega to the latest RDNA 3-based GPU. When viewed from DirectX 12, Radeon GPU's Primitive Shader is designed to work as a Mesh Shader.



2. AMD's RDNA 3rd generation GPU is equipped with "Multi Draw Indirect Accelerator" (MDIA) that processes MDI in hardware. As a result, AMD appealed that the execution of MDI was 2.3 times faster than RDNA 2.

 In the previously mentioned Mesh Shader, one 3D model is divided into multiple parts (domains) and drawn in units of "Meshlet" (meshlet). MDI is expected to be used for high-speed processing of this drawing ( related link ).

 For example, the idea of using Meshlets has been proposed as a technology that replaces the classic Level of Detail (LoD) mechanism that replaces 3D models with different degrees of detail depending on the perspective

"We would like to propose this as a new standard specification for the GPU programming model," Wang said. Will this be installed as a new feature in the RDNA 4th generation GPU?



3. There is also a slightly more basic genre in the neural graphics theme that AMD and NVIDIA have started working on as promising for real-time game graphics. Specifically, rather than seriously calculating various elements of 3D game graphics, it is an effort to make it look like it with AI-based inference.

 For example, if it is about lighting with direct light, it is faster and more accurate to let the GPU calculate it, but lighting with global lighting including indirect light is vague in appearance, but the amount of calculation required is enormous. In game graphics, there are many cases where you don't have to worry about accuracy as long as it is persuasive, so neural graphics are suitable for such themes.

 As an example, NVIDIA announced at SIGGRAPH 2020 a global lighting technology that generates indirect lighting for 3D scenes using AI support using the contents of the "G-Buffer" generated during deferred rendering
 
Last edited:
The future of gaming GPU's:: Making a self-contained GPU that handles the entire graphics pipeline to remove CPU bottlenecks. In the future, your PC will be a GPU with a CPU attached.

This is the whole purpose of the advancements of DirectStorage and Hardware-Based GPU Scheduling drivers. Moving towards a self-sufficient GPU that does its own decompression, draw calls, and storage accesses.

FpQe7W4XgAUcxXK.png

https://twitter.com/phatal187/status/1626959517630996480?s=20
 
AMD senior execs including head of Radeon Technologies Group, David Wang, sat down with 4Gamer , 2 months ago, to talk about their future GPU strategy including the RDNA 4 graphics architecture.

https://www-4gamer-net.translate.go...083/?_x_tr_sl=auto&_x_tr_tl=en&_x_tr_hl=en-GB
(Change detected language to Japanese)



1. Primitive Shader as hardware exists in everything from Radeon RX Vega to the latest RDNA 3-based GPU. When viewed from DirectX 12, Radeon GPU's Primitive Shader is designed to work as a Mesh Shader.



2. AMD's RDNA 3rd generation GPU is equipped with "Multi Draw Indirect Accelerator" (MDIA) that processes MDI in hardware. As a result, AMD appealed that the execution of MDI was 2.3 times faster than RDNA 2.

 In the previously mentioned Mesh Shader, one 3D model is divided into multiple parts (domains) and drawn in units of "Meshlet" (meshlet). MDI is expected to be used for high-speed processing of this drawing ( related link ).

 For example, the idea of using Meshlets has been proposed as a technology that replaces the classic Level of Detail (LoD) mechanism that replaces 3D models with different degrees of detail depending on the perspective

"We would like to propose this as a new standard specification for the GPU programming model," Wang said. Will this be installed as a new feature in the RDNA 4th generation GPU?



3. There is also a slightly more basic genre in the neural graphics theme that AMD and NVIDIA have started working on as promising for real-time game graphics. Specifically, rather than seriously calculating various elements of 3D game graphics, it is an effort to make it look like it with AI-based inference.

 For example, if it is about lighting with direct light, it is faster and more accurate to let the GPU calculate it, but lighting with global lighting including indirect light is vague in appearance, but the amount of calculation required is enormous. In game graphics, there are many cases where you don't have to worry about accuracy as long as it is persuasive, so neural graphics are suitable for such themes.

 As an example, NVIDIA announced at SIGGRAPH 2020 a global lighting technology that generates indirect lighting for 3D scenes using AI support using the contents of the "G-Buffer" generated during deferred rendering
While AMD's Primitive shaders are a cool concept in practice it is quite inefficient, which is why Microsoft decided not to use them for the DX12 Ultimate implementation nor on the XBox, the only console capable of using it is the PS5 and developers there mostly ignore it.
There are inherent problems for the Primitive shader model when moving data around a GPU internally, it requires a crossbar switch, and those scale non-linearity as more rendering clusters request data, not to mention that the crossbar architectures themselves are large and power hungry, and this is why AMD stuck with 4 shader arrays for such a long time.
Additionally, if any one raster buffer is full and you have a triangle that crosses into it, the crossbar link there is essentially stalled, it then triggers the Primitive Processing API and all other rasterizers must wait for the one with the full buffer before proceeding to the next triangle. AMD does have some processes it does in the background to minimize the edge cases by combining numerous pipeline functions like combining vertex and hull shaders into the primitive shader, having the culling done by the programmable CU's rather than the normal fixed function units, reordering the calculations for determining the visibility of the vertices, and making use of a local datastore as a sort of scratchpad to minimize the downsides of the numerous crossbar problems.
Mesh shaders on the other hand tackle a different set of problems and are by in large simpler, it simplifies Tessellation which is by all accounts a PITA to implement correctly, it optimizes Geometry shaders which are slow (requires a round trip to VRAM for each calculation) and do not map well to parallel processing methods and also does some input assembling similarly to how the AMD Primitives do but less extreme.
Ultimately Nvidia's Mesh Shader approach gives more visibility to the hardware, it requires programmers to do more work, but they can get to a much lower level in how they make use of things, AMD's Primitive Shaders operates at the driver level with their in-driver shader transformation which makes it easier to some degree to implement (if you trust AMD's drivers) but is very limited when you compare it to full Mesh Shader support.
 
Last edited:
The future of gaming GPU's:: Making a self-contained GPU that handles the entire graphics pipeline to remove CPU bottlenecks. In the future, your PC will be a GPU with a CPU attached.

This is the whole purpose of the advancements of DirectStorage and Hardware-Based GPU Scheduling drivers. Moving towards a self-sufficient GPU that does its own decompression, draw calls, and storage accesses.

View attachment 550105
https://twitter.com/phatal187/status/1626959517630996480?s=20
I have seen this coming for a while, it will be the consoleization of PC gaming, I fully expect in a few generations GPU's are going to have their own storage drives, then either the launch or install process would place all the graphical assets directly on the GPU's storage itself removing the need for direct storage in the current sense. Giving the system a complete division of labor.
 
  • Like
Reactions: erek
like this
I have seen this coming for a while, it will be the consoleization of PC gaming, I fully expect in a few generations GPU's are going to have their own storage drives, then either the launch or install process would place all the graphical assets directly on the GPU's storage itself removing the need for direct storage in the current sense. Giving the system a complete division of labor.
Optane like and hbm like at the same time?
 
Battery backed lpddr? SLC is so expensive
if the GPU just fetched all the needed materials on launch in one big grab it wouldn't even need a battery. then it cuts back costs some big chunk of storage it can store all the uncompressed assets to.
 
Back
Top