Originally Posted by Defoler
Problem is that all of those games are coded to AMD async only, which is why they get a heads up.
We don't know what happens if those games also add async in full to nvidia. Maybe things won't be as AMD favouring as people keep claiming.
This benchmark actually shows that pascal can do async quite well overall. So if games enable async for nvidia, we might see those same 20-30% boosts AMD get, to nvidia as well.
Now the question is, why those games don't run async for nvidia in the first place, despite nvidia already released drivers for it.
Maybe AMD has something to do with it. And people claimed that gameworks is intentionally hurting AMD. So AMD doing to same, its ok?
I have explained this before but here I go again. The CPU. You see under Vulkan and DX12... AMDs CPU overhead is reduced dramatically which is where the bulk of AMDs gains come from. Asynchronous compute + graphics is like a cherry on top. This is why games do not show the same results as 3DMark though.
3DMark is not hitting the CPU in the same way as a game does. There is no complex AI or simulations going on in order to take CPU time away from feeding the GPUs. Due to this... nVIDIAs software scheduler has the CPU all to itself in order to perform load balancing duties on Pascal (effectively splitting the Compute and Graphicst tasks onto two separate GPCs). We can probably also assume that 3D Mark limited the complexity of their benchmark so as to not hamper Pascal. So we are probably seeing light usage of Asynchronous Compute + Graphics tasks.
What is Asynchronous Compute + Graphics? In a nutshell it is the parallel execution of Graphics and Compute loads on the front end of the GPU pipeline. Afterwards it is the parallel processing of Graphics and compute workloads from within the same Shader Engine. The texturing duties as well as triangle setup and rasterization can take place at the same time as the Compute Units are churning away. The only caveat is to ensure that you are not running memory intensive Graphics operations at the same time as memory intensive Compute operations.
Pascal does not support this. So no... Pascal does not support Asynchronous compute + graphics but contrary to Maxwell... Pascal added improved preemption as well as a more refined load balancing mechanism. So what Pascal can do is execute a Compute and Graphics task in serial (Software based scheduling) and assign these tasks to two separate GPCs. So while one GPC is handling the Compute task... another handles the Graphics task. While one GPC is filled with Compute work... it cannot do Graphics work and vice versa. The kicker is that the improved preemption allows Pascal to flush a GPC of work quickly (something Maxwell did not support) allowing a GPC to move from a Compute task to a Graphics task more quickly than Maxwell (faster context switching). This takes CPU time (the scheduler is software based and thus takes CPU time) and you are also limited by the number of GPCs on the GPU. If the workload becomes too heavy then you run out of GPCs and a performance hit ensues.
3DMark is a synthetic test which looks at the best conditions possible for nVIDIA hardware. Games do not show these results (and most likely will not unless you dial down the settings like running AotS at a high preset instead of extreme).
It has nothing to do with AMD doing anything wrong. AMD just benefits more from Async Compute in games than nVIDIA does with current hardware due to the aforementioned reasons.Edited by Mahigan - 7/14/16 at 3:25pm