Saturday, 4 April 2015

Async Shaders Will Allow GPUs to Live Up to Their Full Potential, Says AMD

Async Shaders Will Allow GPUs to Live Up to Their Full Potential, Says AMD

Improvements to be enabled via DX12 and Vulkan APIs

Graphics cards are currently “not living up to their full potential,” says AMD, and the company is adamant that the forthcoming DX12 and Vulkan APIs will change that. Specifically, the red team says that these APIs will be able to take advantage of AMD’s asynchronous compute engines (ACE), which are inherent to AMD’s GCN architecture. These asynchronous compute engines will allow future games that support them to accomplish more simultaneous tasks at a time. AMD infers that this is tantamount to hyperthreading for GPUs. 
DX11 amd
This is the traditional GPU pipeline with DX11. 
The logic here is that having multiple GPU queues allows for tasks to be completed much faster, and that users could see better performance out of their GCN graphics cards. On a call with AMD, the company claimed that the traditional GPU pipeline behavior is currently very linear with DirectX11 and that all work must be done in a single queue that is scheduled in a pre-determined order. With DX12, however, tasks like physics, lighting, and post-processing can be divided into different queues and can be scheduled independently. This not only amounts to higher FPS in applications that support asynchronous shaders, but lower latency as well, which is key to having good VR experiences. To analogize the comparison, AMD equated DX11’s current inefficiency to inner-city roads with traffic lights against DX12’s more asynchronous model, which the company equated to a freeway system. In the asynchronous/freeway model, tasks can merge in to fill gaps and aren’t bogged down by red lights, or bottlenecks, in this example.
dx12 amd async
AMD says DX12 will be able to leverage its GPU's asynchronous compute engines to perform more efficiently.
According to AMD, using asynchronous shaders can provide post-processing effects with minimal impact on performance. The company cited its LiquidVR SDK demo, which rendered a scene that had an average FPS at 245 with async shaders and post-processing turned off. With the post-processing effect on, however, the FPS took a huge hit and dropped to 158. With async shaders turned on, the average FPS jumped back up to 230, which is just ever slightly more taxing than the scene with post-processing turned off. According to AMD, async shaders have the potential to save performance by over 40%. 
async shaders perf
AMD is touting that its async shaders will be very non-taxing on post-processing. 
AMD says that async shaders and asynchronous compute engines are a part of the GCN DNA, so developers will be able to take advantage of them with the next generation APIs. With AMD pouring its Mantle learnings into Vulkan, the next iteration of OpenGL, the open-source API will also be able to take advantage of AMD’s asynchronous shaders. In addition, AMD tells us that all the major game engines, like Epic’s Unreal Engine and Crytek’s CryEngine, will be able to take advantage of AMD’s asynchronous shaders. 
According to AMD, the PlayStation 4, which uses AMD hardware, is already uses asynchronous shaders in games like InFamous Second Son and The Tomorrow Children to get more performance efficiencies and the company believes these learnings will work their way over to the PC with the next-generation APIs. AMD also says the philosophy behind its asynchronous shaders will also apply to the company’s GCN-based APUs.

No comments:

Post a Comment