AMD: Asynchronous shaders in GCN handy with DirectX 12

Graphics cards 1048 Page 1 of 1 Published by

teaser

Article - Guide - Review

Shaders More Efficient with AMD GCN and DirectX 12

Last week we already got a taste of DirectX 12 with the release of an 3DMark update, and that did taste well right ?! The API overhead is much reduced meaning the future of gaming can have much more detailed scenery with more or even more complicated objects.  But there is more in the pipeline, last week AMD held a small conference call explaining the impact of  DX12 and the GCN architecture. Microsoft's new API makes it possible to advance the architecture in such a manner that it can occupy and utilize multiple tasks at hand. E.g. there is even more efficiency to gain.

 

Untitled-1


By handling multiple tasks at the same time efficiency increases, latency drops and you gain a higher average framerate. That new trick is called asynchronous shaders. Yeah in a sense you could call this new feature hyper-threading for GPUs.

Asynchronous shaders

At this moment multi-threaded graphics are handled in a single queue, which is then scheduled in a set order - that's synchronously. Tasks that found themselves in different queues can now (with DX12 / Vulkan / Mantle) be scheduled independently in a prioritized order, which is asynchronous. That brings in several advantages, the biggest being less latency and thus faster rendered frames and response times while you are utilizing the GPU much better. AMD is pretty excited about this feature hence they shared some information on it.
 

15401_untitled-1


While this is thorny stuff to explain in a quick one page post, AMD is trying to do so (explain this) with a set of screenshots corresponding to a road with traffic lights. In the past instructions always where handled by the order that they arrived. So they arrive and get queued up. However with DX12 and the combo of GCN GPU architecture instructions can be handled and prioritized separately starting with DX12. Meaning more important tasks and data-sets can be prioritized.
 

Traffic_lights3_asynchronous


With Asynchronous Shaders three different queues arenow available. The graphics queue (rendering), a compute queue (physics, lighting, post-processing effects) and then there is a copy queue (data transfers). Tasks from each or any of these queues can be scheduled independently.

All graphics cards based on GCN architecture can now handle multiple command instructions and data flows simultaneously which is managed by compute-engines called ACEs. Each queue can pass instructions without the need to wait on other tasks. That will keep your GPU 100% active as the work-flow is prioritized and thus always available.

 

Untitled-2

Asynchronous_compute_engines


Per GPU eight ACE (Asynchronous Compute Engine) units are available which can manage eight waiting queues with direct access to the L2 cache and which is called 'global share data'. The really are multiple advantages to be found here, an overall more efficient rendering experience meaning a higher FPS, but due to the decreased latency this is way more optimal for Virtual Reality gaming.

The imagery for both eyes can be rendered parallel and effects like lighting can be altered afterwards. Also, a frame that was just rendered with new info from the sensor, can be adjusted to decrease the latency feel to a minimum.
 

Asynchronous_performance

5


According to AMD Asynchronous shaders will deliver a performance increase up-to 46% in a demo shown with their LiquidVR-SDK dev kit. How big of a difference this is going to be for your 'normal' gaming experience, remains to be seen of course. But every little bump in perf is welcomed of course. BTW if you are wondering, yes Asynchronous time warp is also a capability of NVIDIA’s Maxwell-based GPU and was already detailed ever since the GTX 980 launch. 

That's it for this small update. Once DX12 is out and software can and will make use of this feature in addition to the reduced DX API overhead, we can really check out and see how well the new technologies will benefit you as an end consumer. But as it looks right now, DX12 seems to become a free virtual graphics card upgrade for the most of you.

Share this content
Twitter Facebook Reddit WhatsApp Email Print