amd

AMD vs NV Drivers: A Brief History and Understanding Scheduling & CPU Overhead

This topic is something I really wanted to cover last year, but due to work scheduling (hah!), I was never able to fully formulate it into a presentation format. But I felt it had to be covered before Vega’s release.

Hopefully the presentation makes sense for you guys, it’s not an easy topic to talk about in simple terms.

To better clarify, I have simplified the presentation to talk about the rendering thread handling draw calls, but games are a lot more than that, often shaders takes considerable CPU cycles, and for DX11, both AMD & NV engage in shader re-optimization whereby they override the game developers code with their optimal variant. These steps all eat CPU cycles. So the more that it has to be done (because the game was poorly optimized), the more “CPU overhead” there is, on top of everything else.

This topic is really complex because we’re dealing with how games are made and how it interacts with both vendor hardware & drivers. I apologize if during the simplification process, some accuracy or semantic is lost.

The major points I wanted to get forward is:

1. That GCN was made to chase HPC markets where compute flexibility & throughput is key, a side effect is that it’s pretty good when there’s a better API available like on consoles or now with DX12/Vulkan. It is often said to be weaker in DX11 and this is only a half-truth. When game developers code properly, AMD GPUs can excel in DX11 as well. But the reality is GCN is prone to rendering thread bottlenecks and so sloppy coding or deliberate actions can neuter it’s performance quite easy.

2. NV’s recent architectures chase power efficiency, it’s a central defining principle at NV ever since their lesson learnt with Fermi. The benefit for NV is that this architecture & hybrid soft/hard scheduling excels in DX11 with NV’s brilliant driver engineering efforts. The bonus is that it’s more resistant to sloppy coding or single thread bound games.

3. There’s pros & cons to their different strategies, as an outside observer, at the very least, you should be able to appreciate where they came from to where they are now and in the future.

References:

http://www.anandtech.com/show/11223/quick-look-vulkan-3dmark-api-overhead

http://www.nvidia.com/content/pdf/fermi_white_papers/nvidia_fermi_compute_architecture_whitepaper.pdf

http://www.anandtech.com/show/5699/nvidia-geforce-gtx-680-review/3

https://forums.anandtech.com/threads/6950-vs-gtx-460-768mb-why-does-nvidia-beat-the-radeon-in-civ5.2155665/page-2

http://www.gdcvault.com/play/1017628/Advanced-Visual-Effects-with-DirectX

http://www.gdcvault.com/play/1020662/DirectX-Advancements-in-the-Many

http://www.gdcvault.com/play/1023517/Advanced-Rendering-with-DirectX-11

COD Black Ops 3 @ https://youtu.be/AOACge8JhNo?t=1m15s

Crysis 3 @ https://youtu.be/jRhXLpHoqC4?t=1m47s

Witcher 3 @ https://youtu.be/TzdaOzxIsyI?t=1m16s

AdoredTV @ https://www.youtube.com/watch?v=0tfTZjugDeg

Hardware Unboxed @ https://www.youtube.com/watch?v=nLRCK7RfbUg

source

Back to top button