From my other post..
AT's article is wrong, people told Ryan already in the comments but he refused to fix it. He's quoting "compute engines", which is fine, on later GCN there's 8. But for NV, he lists 32 which is plain wrong. That's 32 queues. It has only 1 engine. It's not an accurate chart, either go with engines or queues, not mix and match to inflate NV's and deflate AMD's uarch async abilities.
AMD GCN from Hawaii onwards has 1 CP + 8 ACE (Compute Engines).
In pure compute mode, it has 64 queues.
In rendering/compute, it has 1 rendering + 8 compute (each compute engine is independent) queues.
Maxwell 2 has
1 Compute Engine, it can handle up to 32 compute threads when operating on full compute.
In mixed mode, this single engine can handle 1 rendering + 1 compute queue asynchronously.
This is better than Kepler, since it can't do that at all, it has to wait for one task to finish before doing the next.
What this means is if async compute is used in DX12 games, Kepler is crippled (780Ti will be behind 970) and GCN pulls ahead.
The more async compute used, the more GCN can flex its 8 ACE engines!
Edit: I suspect the poor showing in Kepler in recent titles is due to the shift towards using compute for deferred lighting, such as in Ryse, Evolve, Witcher 3.
Also, Kepler/Maxwell has 2 DMA engines but from my reading, only 1 is enabled on consumer SKU, 2 is fully enabled on Teslas to use HyperQ (basically ensuring its single Engine can reach peak 32 queues).
We should see Pascal significantly improve on the Compute capabilities as DX12 matures, async compute will routinely be leveraged by game devs.
In before some anti-AMD hater claims GCN is out-dated or obsolete.. basically GCN was made for DX12 (aka. Mantle/Vulkan with a MS logo on it)...