QUOTE
They don't have dedicated async shaders, period. Async compute (the ability to decouple shading from rendering tasks) is supported, even in Maxwell. Maxwell: each GPC can work on different tasks, independent of other GPCs. Pascal: each SM (SMs are contained in a GPC) can work on different tasks, independent of other SMs. These tasks can be a mix of render and compute and the scheduler dynamically assigns tasks.
AMD has dedicated async shaders where they can offload compute, completely independent of the render pipeline.
It's two different approaches to accomplishing the same thing (decouple compute from render, to better utilize GPU). Async compute itself is NOT a magic bullet, and must be done properly other avoid stalls and can have disastrous effects if done poorly. It's a tool to offload compute tasks to reduce frame times, and like any other tool it can be a detriment if done wrong.
AMD couldn't use the ACEs in DX11, and their compute pipeline suffered because of it (a good chunk of hardware sitting unused). In Vulkan / DX12, they can now and get good performance gains from better GPU utilization. It's basically as simple as saying "throw into compute queue" and done.
Maxwell and Pascal are already near fully utilized. Forcing it on in Maxwell causes inefficiencies (performance loss) since the software scheduler is already dynamically assigning tasks and now you're overriding what it does. Pascal is better, but mostly just because it can be forced to reassign tasks in a more granular manner (by SM, not by entire GPC).
So yes, Nvidia can "do" async compute, no they don't have async shaders, no there is no performance gain on Maxwell (sometimes a detriment), yes Pascal can see minor gains.
Async shaders are a FEATURE of GCN, but they are not necessary to do async compute.
AMD has dedicated async shaders where they can offload compute, completely independent of the render pipeline.
It's two different approaches to accomplishing the same thing (decouple compute from render, to better utilize GPU). Async compute itself is NOT a magic bullet, and must be done properly other avoid stalls and can have disastrous effects if done poorly. It's a tool to offload compute tasks to reduce frame times, and like any other tool it can be a detriment if done wrong.
AMD couldn't use the ACEs in DX11, and their compute pipeline suffered because of it (a good chunk of hardware sitting unused). In Vulkan / DX12, they can now and get good performance gains from better GPU utilization. It's basically as simple as saying "throw into compute queue" and done.
Maxwell and Pascal are already near fully utilized. Forcing it on in Maxwell causes inefficiencies (performance loss) since the software scheduler is already dynamically assigning tasks and now you're overriding what it does. Pascal is better, but mostly just because it can be forced to reassign tasks in a more granular manner (by SM, not by entire GPC).
So yes, Nvidia can "do" async compute, no they don't have async shaders, no there is no performance gain on Maxwell (sometimes a detriment), yes Pascal can see minor gains.
Async shaders are a FEATURE of GCN, but they are not necessary to do async compute.
Interesting read from reddit.
Basically it's the red team that has been underutilised, aka the AE65 with new engine but low rpm meter, vulkan is just changing to the suitable rpm meter, while the green team has been running at their max potential.
Jul 16 2016, 11:26 AM
Quote



0.0303sec
0.79
6 queries
GZIP Disabled