Originally Posted by Glottis
but but nvidia doesn't have async compute gains, they said, DOOM not yet supporting async compute for nvidia doesn't matter, they said.
I am not disputing that Pascal can get a boost under light loads... never have. As for 3D Mark Time Fly... See concurrent vs parallel execution. All of the current games supporting Asynchronous Compute make use of parallel execution of compute and graphics tasks. 3D Mark Time Fly support concurrent. It is not the same Asynchronous Compute.
Concurrency fills in gaps which are in the execution pipeline. Parallelism executes two tasks at the same time.
Notice the context switch involved?
If 3D Mark Time fly were using Parallel executions then there would be synchronization points between the two contexts (Graphics and Compute). There would also be pipeline stalls on Maxwell GPUs. Both the pipeline stalls and the flush required for a synchronization point would add latency thus leading to Maxwell losing performance when running this variant of Asynchronous compute. We do not see Maxwell losing performance under 3D Mark Time Spy. We see a tiny performance boost. Thus 3D Mark Time Spy is not running Asynchronous Compute + graphics. You see parallel executions = Asynchronous Compute + Graphics. Concurrent execution = Asynchronous Compute. They are not the same thing.
With DirectX 12, GPUs that support asynchronous compute can process work from multiple queues in parallel.
They can but that is not what 3D Mark is doing.
In Time Spy, asynchronous compute is used heavily to overlap rendering passes to maximize GPU utilization. The asynchronous compute workload per frame varies between 10-20%. To observe the benefit on your own hardware, you can optionally choose to disable async compute using the Custom run settings in 3DMark Advanced and Professional Editions.
That is from 3DMark and can be found in the PC Per review. http://www.pcper.com/reviews/Graphics-Cards/3DMark-Time-Spy-Looking-DX12-Asynchronous-Compute-Performance
Yeah... even PCPer went a step further and attacked "AMD Fanboys" when in reality... PC Per do not even know the difference. Tech journalism....
What is concurrency?
Concurrent computing is a form of computing in which several computations are executed during overlapping time periods —concurrently— instead of sequentially (one completing before the next starts).
So yeah... 3D Mark does not use the same type of Asynchronous compute found in all of the recent game titles. Instead.. 3D Mark appears to be specifically tailored so as to show nVIDIA GPUs in the best light possible. It makes use of Context Switches (good because Pascal has that improved pre-emption) as well as the Dynamic Load Balancing on Maxwell through the use of concurrent rather than parallel Asynchronous compute tasks. If parallelism was used then we would see Maxwell taking a performance hit under Time Fly as admitted by nVIDIA in their GTX 1080 white paper and as we have seen from AotS.
GCN can handle these tasks but performs even better when Parallelism is thrown in as seen in the Doom Vulkan results. How? By reducing the per Frame latency through the parallel executions of Graphics and Compute Tasks. A reduction in the per-frame latency means that each frame takes less time to execute and process. The net result is a higher frame rate. 3DMark lacks this. AotS makes use of both parallelism and concurrency... as does Doom with the new Vulkan patch. See below...
If 3D Mark Time Fly had implemented a separate path and enabled both concurrency and parallelism for the FuryX... it would have caught up to the GTX 1070. No joke.
If both AMD and nVIDIA are running the same code then Pascal would either gain a tiny bit or even lose performance. This is why Bethesda did not enable the Asynchronous Compute + Graphics from the AMD path for Pascal. Instead... Pascal will get its own optimized path. They will also call it Asynchronous Compute... people will think it is the same thing when in reality... two completely different things are happening behind the scene.
See why understanding what is actually happening behind the scenes is important rather than just looking at numbers? Not all Asynchronous Compute implementations are equal. You would do well to take note of this.
Where are the tech journalists these days?