Würde mich mal interessieren wieso ID die Async Implementierung zuerst für Amd gebracht hat, wo Nvidia am Pc doch größere Marktanteile hat? Liegt es vielleicht daran, dass die Implementierung für Amd fast direkt von den Konsolen übernommen werden kann, ohne viel mehraufwand, da diese ja auch Amd Hardware haben. Wo hingegen für Nvidia erst eine eigene Implementierung geschrieben werden muss, die deutlich aufwendiger ist?
Das sind alles nur Vermutungen meinerseits und nicht als Fakten zu verstehen.
Die Antwort ist ziemlich einfach:
Keine einzige Nvidia GPU (inklusive Pascal) Kann Async Compute im Sinn von Hyperthreading unterstützen.
Nvidia löst es mit pre-emption, also dem frühzeitigen Abbrechen einer Aufgabe, um eine mit höherer Priorität abzuarbeiten.
Das endet in einem Ping-Pong Match der verschiedenen Threads, die immer wieder unterbrochen werden, anstatt Lücken effektiv zu nutzen.
Nvidia zeigt es sogar auf ihrer Präsentation der 1080.

Warum AMD zuerst? Der Effekt dürfte auf AMD mehr wirken als bei Nvidia, da deren Architektur per se besser ausgelastet ist, wie ja schon lang und breit diskutiert wurde. Aus Vergleichbarkeitsgründen wäre eine zeitnahe Implementierung wünschenswert, denn die bisher fehlende direkte Unterstützung von Nvidia Architekturen ist in der anfänglichen AMD Euphorie etwas untergegangen...

