AMD Details Asynchronous Shaders In DirectX 12, Promises Performance Gains

Status
Not open for further replies.
Is this a previously unmentioned DX12 api feature or is it just more AMD marketing renaming (like calling their SMT designs "cluster-multithread")? From the looks of it they are just talking about executeIndirect, which was shown on Intel (and later Nvidia) chips at GDC.
 
Sony clearly saw the future moving away from traditional raster-based rendering for GPU's as the hardware evolves towards general compute.

XBOX ONE GPU-

1.18 TF GPU (12 CUs) for games
768 Shaders
48 Texture units
16 ROPS
2 ACE/ 16 queues

PLAYSTATION 4 GPU-

1.84TF GPU (18 CUs) for games + 56%
1152 Shaders +50%
72 Texture units +50%
32 ROPS + 100%
8 ACE/64 queues +300%

Here's how important ACE's are:

http://www.dualshockers.com/2014/09/03/ps4s-powerful-async-compute-tech-allows-the-tomorrow-childrens-developer-to-save-5-ms-per-frame/?
 
So, why can't it do this anyway? If the shaders compute the data why does it matter what dx version? Why does dx or anything else need to see the process under the shaders and understand it to make use of it?
 


You have it backwards, the shader code itself needs to be in a format that can be compiled by the version of DX (or higher usually) it is targeting, and any functions used by that shader have to be valid for the DX version you target. It's no different than trying to run a DX11 game on an XP machine, it just won't work because it has invalid calls.

If DX can't compile the shader code (shaders are compiled at run time usually), no compute, so DX needs to be able to read the shader code and make sure it's valid (and also compile it, no magical compilation).
 

Hmm, woosh, straight over my head. Sounds like I need to do some serious reading.
 
Is this a previously unmentioned DX12 api feature or is it just more AMD marketing renaming (like calling their SMT designs "cluster-multithread")? From the looks of it they are just talking about executeIndirect, which was shown on Intel (and later Nvidia) chips at GDC.

AMD developed ACE's as part of their GCN architecture ~4 years ago, as you may remember as the 7970, Mantle allowed more control over this design and DX12 will feature Asynchronous instruction handling [mostly] the same way Mantle and its successor/clone, Vulkan, does.
 
I'm sue a 700w gpu at 95c can achieve the same.
hey sue, would love to hear about your 3 GPU dies, they could get quite the efficiency boost!

Didn't understand a word of this, but I'm excited for it.
Essentially just means that game devs can cram more features and effects in to what's already existing hardware. Miscellaneous things like particles, fluids and extra post-processing shaders.
 
AMD developed ACE's as part of their GCN architecture ~4 years ago, as you may remember as the 7970, Mantle allowed more control over this design and DX12 will feature Asynchronous instruction handling [mostly] the same way Mantle and its successor/clone, Vulkan, does.

I never stated anything about ACE (which isn't all that different from how most other architectures also partition their execution), rather calling them out on their practice of renaming industry standards, good programming practices, and other previously defined specifications for marketing reasons. So far nothing you have stated counters the assumption that this is just an implementation of executeIndirect, where you can program the GPU controller itself to execute multiple commands without input from the CPU.
 
Please stop using the word "gains". It makes Tom's sound very unintelligent. The title of this article sounds much better with the word, "Increase" instead.
 
I think a good indication of the potential of this is the difference in watts used by a 980 in gaming(180w) vs torture(250w) - per the 980 review on this site. That's an improvement of almost 40%! A free upgrade on a generational scale would be sweet. Thanks MS and AMD.
 
So if I'm reading this right...

In the current method, each cluster of shaders that schedulers are responsible for wait for the shaders they put to work to be done before submitting another job. In asynchronous shading, they don't wait, they'll issue another command with whatever resources are available. Because why schedulers care about what shaders are doing once the command is issued? They only care about how many they have at their disposal.
 
Please stop using the word "gains". It makes Tom's sound very unintelligent. The title of this article sounds much better with the word, "Increase" instead.

Well, if we're going to go to a thesaurus, why not use "expansion", "advantage", "advances", or even "benefits"?

Personally, considering that the financial world (which tends to prefer "highfalutin" vocabulary terms) is more than happy to describe the improvement in a company's financial position using the term "gain", I don't see anything uneducated about using the term at all. But, that's merely MHO, & YEMV.
 
We've long needed improved graphical APIs which not only bring new feature sets, but in more efficient ways. The conspiracy theorist in me wonders who GPU manufacturers are limiting this efficient development. With each new DX iteration, life only gets harder on the consumer to "run the newest thing"
 
We've long needed improved graphical APIs which not only bring new feature sets, but in more efficient ways. The conspiracy theorist in me wonders who GPU manufacturers are limiting this efficient development. With each new DX iteration, life only gets harder on the consumer to "run the newest thing"

They can make stuff plenty hard already. For example, running firestrike ultra on my 2 780tis drops the framerate into the teens. A couple of TitanXs still wouldn't make it "playable". It all depends on your priorities of how good you want it to look. The games have been looking better and better. But using more of the gpu/time will help.
 
Status
Not open for further replies.

TRENDING THREADS