News DirectX 12: Disput zwischen Oxide und Nvidia geht weiter

strex schrieb:
Hier geht es ja um die Diskussion ob Asynchronous Compute überhaupt vorhanden ist, denn Compute Tasks können asynchron verarbeitet werden.

Absolut richtig. Maxwell 2 kann scheinbar 32 Compute calculations parallel machen. Mit den ersten 31 verhält es sich etwas anders, das soll uns jetzt aber nicht stören. Der eigentliche Sinn von Asynchronous shader ist jedoch Compute und Graphics calculations parallel zu bearbeiten, sobald Ressourcen frei werden. Dazu:
Maxwell is good at compute, that wasn't the point. Maxwell just cannot benefit from doing compute + graphics asynchronously.
 
strex schrieb:
Laut den Benches nicht, es braucht 50ms System Overhead bei einer Queue und bei 128 Queues. Der Overhead ist immer gleich egal wie viel Queues belegt sind. Ich vermute daher, dass immer alle Queues iterativ geprüft werden egal ob etwas vorhanden ist und benötigt eben Zeit.





Sequentiell ist der Teil zwischen den Switch von Graphics Mode zu Compute Mode, folgen ständig Graphics Tasks auf Compute Tasks erfordert es ständig einen Sync und ist dann sequentiell. Kommen viele Compute Tasks hintereinander ohne in den Graphics Mode zu wechseln, können diese Tasks asynchron verarbeitet werden.

In der Tat geht dies ziemlich schnell, sprich der Wechsel zwischen beiden Modi. Irgendwann stehen aber nicht mehr zur Verfügung und es geht in die Knie.
Sach mal, was erzählst du eigentlich die ganze Zeit. Du hast doch selbst den entscheidenden Link mit den Benches gepostet. Hast auch selbst mal reingeschaut?

Ich zitiere extra für dich: " Maxwell is good at compute, that wasn't the point. Maxwell just cannot benefit from doing compute + graphics asynchronously. GCN can."

Alles was Maxwell abarbeitet passiert seriell und nicht synchron (höchstens minimal synchron). Dass die 980Ti in einem synthetischen Benchmark bis ca. 95 compute kernels seriell schneller als GCN arbeitet heißt trotzdem nicht, dass dort etwas synchron passiert.
Wie gesagt, erstens ist es ein synthetischer Benchmark und zweitens sieht man hier sehr gut die Limitierung von Maxwell. In der Realität/Praxis bringt scheinbar die "langsame" Synchronisierung mehr als begrenzt "schnelle" serielle Abfolge. Trotz des synthetischen Benchmarks.

Als Beispiel aus dem Benchmark:
Eine 8970M (ausm Laptop) benötigt (128 compute kernels) für compute + graphics = 62ms
Eine 980Ti benötigt bei gleicher Aufgabe und mehr Leistung für compute 44ms + graphics 18ms = ca. 62ms
 
Zuletzt bearbeitet:
Async compute ist kein Teil von DX12. Weder von feature level 12.0 noch von 12.1 [1]. Im Endeffekt ist es einfach "nur" eine Optimierung in einer Architektur wie z.B. auch HBM eine ist. DX12 - Mantle sind asynchron aufgebaut, sodass dadurch die GPU mit asynchronen Daten versorgt werden kann, was derartige Optimierung erst nutzbar macht.

Man kann davon aufgehen, dass die nächste Nvidea Gen auch Async compute bietet. Bisher lag diese Ressource komplett brach, da hat Amd Chipfläche in etwas gesteckt hat das bislang keinen Nutzen hat(te). Bis tatsächlich einige Spiele mit dx12 erschienen sind dauert es sicher noch bis nächstes Jahr.

[1] https://msdn.microsoft.com/en-us/library/windows/desktop/ff476876(v=vs.85).aspx#Overview
 
Alle, die jetzt nach "richtigen" AAA-Spielen in DX12 für einen Bench schreien:
Durch den großen Marktanteil an Nvidia-GPUs wird ein großes Studio vermutlich weniger nah am Standard DX12 entwickeln, heißt auf AS verzichten (außer evtl. bei Multiplattform). Dann habt ihr eure Geforce wieder in Führung. Ändert dann aber nichts daran, dass Radeon UND Geforce-Käufer von Nvidia um Leistung beschissen wurden. Natürlich wieder gesetzt den Fall, die Aussage von Oxide ist technisch richtig.
 
Igoo schrieb:
Je nach Spiel find ich auch die 290 zu schwach, WoW mit 290 51-65 fps. Eine 770 62-81. Gerade Drops unter 60 fps in solchen Spielen macht die Karte für mich einfach unattraktiv. Das ist das Problem an AMDs Treibern das gerade solche Spiele einfach eine Stückchen schlechter laufen.

Dein ernst? Wie gesagt, ich habe auch eine 290 und wesentlich mehr FPS auf max. Details. Irgendwas scheinst du falsch zu machen.
 
Limit schrieb:
Im Moment scheint die nVidia-Empfehlung zu sein es [async compute] abzuschalten. Natürlich kann sich das noch ändern. Da wird man einfach abwarten müssen.

Es gibt imo hier eigentlich nur 2-3 Möglichkeiten.

1. Die Hardware kann es nicht (parallele Verarbeitung unterschiedlicher Shader-Typen)
2. Es ist noch nicht im Treiber für die Maxwell-Architektur implementiert, sondern erst für Fermi/Kepler implementiert und Maxwell läuft hier im "Kompatibilitätsmodus"
3. Es ist fehlerhaft im Treiber implementiert.
 
kisser schrieb:
Es gibt imo hier eigentlich nur 2-3 Möglichkeiten.

1. Die Hardware kann es nicht (parallele Verarbeitung unterschiedlicher Shader-Typen)
2. Es ist noch nicht im Treiber für die Maxwell-Architektur implementiert, sondern erst für Fermi/Kepler implementiert und Maxwell läuft hier im "Kompatibilitätsmodus"
3. Es ist fehlerhaft im Treiber implementiert.

Oder schicht und ergreifend: die Hardware ist zu unfähig und man hatte keinen Bedarf in dieser Richtung zu arbeiten. Die wenigstens Emulationen laufen in SW genauso schnell wie in Hardware....
 
deathscythemk2 schrieb:
Dein ernst? Wie gesagt, ich habe auch eine 290 und wesentlich mehr FPS auf max. Details. Irgendwas scheinst du falsch zu machen.

WoW läuft deutlich besser auf Nvidia Karten ;)
Allerdings sollte es auch mit AMD Karten keine Probleme geben, zumindest kommen 290X Benchmarks sogar mit 4K auf 60FPS: https://www.techpowerup.com/reviews/NVIDIA/GeForce_GTX_980_Ti/28.html
We tested the game in DirectX 11 mode with details set to "Ultra"

Vielleicht CPU zu schwach?

mfg,
Max
 
Zerbich schrieb:
Habe ich dann das Recht meine GTX 980 Ti bei Amazon zurückzuschicken, da sie gar nicht volles DX12 kann?

Nein hast du nicht, da sie volles DX12 kann.
Ergänzung ()

SymA schrieb:
Oder schicht und ergreifend: die Hardware ist zu unfähig

Was ist denn das für eine Aussage? Unfähig? Entweder kann sie parallel verarbeiten oder nicht. Derzeit tut sie es nicht.

SymA schrieb:
und man hatte keinen Bedarf in dieser Richtung zu arbeiten. Die wenigstens Emulationen laufen in SW genauso schnell wie in Hardware....

Emuliert wird da überhaupt nichts, das macht schon die GPU selbst.
 
@berkeley

Alles was Maxwell abarbeitet passiert seriell und nicht synchron (höchstens minimal synchron).
Bevor du hier anfängst irgendwelche Geschichten zu erzählten solltest du die erst mal etwas mit den Begriffen beschäftigen, die du da in den Raum wirfst.

seriell - bedeutet zu einem Zeitpunkt wird eine Aufgabe erledigt (die aber in sich parallel sein kann, so wie es bei GPUs immer der Fall ist) sobald diese abgeschlossen ist wir mit der nächsten begonnen

parallel - bedeutet das zu einem Zeitpunkt mehrere Aufgaben - Tasks gleichzeitig erledigt werden können


synchron - bedeutet dass in einem System eine feste zuvor festgelegt zeitliche Abhängigkeit besteht. Bei einer Datenübertragung bedeutet dies, dass ein Takt Signal existieren muss (z.B.: I2C)

asynchron - bedeutet, dass keine direkte zeitliche Abhängigkeit besteht, somit ist auch keinen Taktsignal zur Synchronisierung notwendig (z.B.: RS232)

Also ist synchron != parallel und dein ganzer Text Schwachsinn.

edit: doch kein Schwachsinn :D
 
Zuletzt bearbeitet:
Oteph schrieb:
@berkeley
Also ist synchron != parallel und dein ganzer Text Schwachsinn.

Recht hast du ;)
Ich musste auch erst bissl nachdenken bis ich dieses Kernel-Modell von Nvidia verstanden hab - trotzdem bleibt es eine serielle Queue.

mfg,
Max
 
Zuletzt bearbeitet:
kisser schrieb:
Was ist denn das für eine Aussage? Unfähig? Entweder kann sie parallel verarbeiten oder nicht. Derzeit tut sie es nicht.

Ja und mit welchem Zaubertrick soll sie es in Zukunft können? Diese Möglichkeit muss in Hardware existieren, bevor man sie nutzen kann. Aktuell deutet alles darauf hin, dass die GTX 900er Serie sowas nicht kann - also wohl auch nicht in Zukunft durch neue Treiber...
 
max_1234 schrieb:
Recht hast du ;)
Ich musste auch erst bissl nachdenken bis ich dieses Kernel-Modell von Nvidia verstanden hab - trotzdem bleibt es eine serielle Queue.

mfg,
Max

Ich muss zugeben, dass ich seinen Text missverstanden habe und in diesem Kontext Synchron doch richtig verwendet wurde ^^
 
Oteph schrieb:
Ich muss zugeben, dass ich seinen Text missverstanden habe und in diesem Kontext Synchron doch richtig verwendet wurde ^^

Wenn er mit synchron den Wechsel auf Computing meint, ist seine Aussage absolut korrekt. Ich meinte mit meinem Beitrag primär wie Nvidia Karten arbeiten (bzw. die allgemeine Beschreibung von Nvidia mit "kernel" [als computing units/threads?]).

mfg,
Max
 
Volker schrieb:
Das sich so ein Kindergarten-Schauspiel binnen weniger Wochen wiederholt hätte ich nicht gedacht.

Es könnte sein, dass solche Schauspiele mit DX12 auch zum Alltag gehören werden. Wenn die Spieleentwickler mehr Kontrolle über die Hardware bekommen, tragen sie auch mehr Verantwortung auf jeder Hardware zufriedenstellende Ergebnisse zu erzielen. Gerade wenn Hersteller A ein Problem hardwaretechnisch auf eine andere Weise löst als Hersteller B oder C.
Sollte das klappen, könnte die ganze Geschichte gut werden. Sollte es nicht klappen und bei jedem größeren Spiel öffentliche Schlammschlachten zwischen den Beteiligten ausbrechen, müsste man wohl zu dem Schluss kommen, dass die hohe Abstraktion von DX < 12 eventuell doch nicht ganz so schlecht war.
Zu Anfang muss sich das wohl noch einschleifen, wie man aktuell sieht. In 6-12 Monaten sollte der Kinderkram dann aber mal aufhoren.
 
Also so wie ich das verstehe und wenn die Fakten alle so stimmen dann ist hier Nvidia genau so Schuld wie es bei AMD mit Project Cars war. Wenn Nvidia seit 1 Jahr einblick in den Code hat und nur faul rumsitzt und nichts ändert dann brauchen sie sich nicht wundern wenn sowas bei rauskommt. War ja das selbe mit AMD und Project Cars wo auch schon 1 Jahr einblick in den Code gewährt wurde und AMD nichts getan hat. Und genauso wie ich damals sagte das es AMDs Schuld war ist es heute Nvidias Schuld imho.

Natürlich vorausgesetzt das stimmt alles so wie es sich darstellt!
 
terraconz schrieb:
War ja das selbe mit AMD und Project Cars wo auch schon 1 Jahr einblick in den Code gewährt wurde und AMD nichts getan hat. Und genauso wie ich damals sagte das es AMDs Schuld war ist es heute Nvidias Schuld imho.

Natürlich vorausgesetzt das stimmt alles so wie es sich darstellt!
Nvidia Gameworks ist CLOSED SOURCE. AMD bekommt hierfür keine Einsicht. Entwickler bekommen hierfür keine Einsicht. Berhinderungen der Konkurrenz (AMD, Intel) sind nicht nur möglich sondern höchstwahrscheinlich.

mfg,
Max
 
Zurück
Oben