Ashes of the Singularity Beta - Benchmark 2.0 mit DirectX 12, Asychronous Compute und pikanten Ergebnissen

SMT/HT funktioniert sowohl unter DX11 und DX12?

Ah nein, Du meinst die 20% Leistung, die sowieso bei einer CPU ständig brach liegen, weil sie die Pipelines nicht immer gefüllt halten kann... Ich verstehe.

D.h. aber auch es könnte sein, dass bei NV die AS wundervoll funktionieren, nur merkt man es nicht, weil sie unter DX11 schon keine großen Lücken im Arbeitsablauf haben?
 
WOW. Da schlägt ja voll durch das nVidia ASYNC nur über Software berechnen kann. Wichtig ist ja erstmal das über 50% der zukünftigen Spiele ebenfalls so profitieren können. Und ich habe da grosse Zweifel. Ansonsten, gut gemacht, AMD!

Und ich behaupte weiterhin das Pascal ebenso ASYNC in Hardware kann. Aber warten wir mal ab.

ASYNC da muss nVidia nachziehen sonst sieht nVidia alt aus. Aber die werden das schon wissen.
 
Interessant. Unsere Anfrage vom 10. Februar hat Nvidia bislang gekonnt ignoriert.

Gerade noch so ein (inoffizielles) Statement entdeckt (oder ist das Verzweiflung?): :lol:
nvfun.PNG

Sean Pelletier auf Twitter: "Fun FACT of the day: Async Compute is NOT enabled on the driver-side with public Game Ready Drivers. You need app-side + driver-side!"
 
SMT/HT funktioniert sowohl unter DX11 und DX12?
Richtig ;)
Ah nein, Du meinst die 20% Leistung, die sowieso bei einer CPU ständig brach liegen, weil sie die Pipelines nicht immer gefüllt halten kann... Ich verstehe.
Richtig ;) -Auch eine NV GPU wird wohl nicht immer auf 100% Auslastung kommen, selbst mit gameworks und "Wundertütentreiber" nicht.
D.h. aber auch es könnte sein, dass bei NV die AS wundervoll funktionieren, nur merkt man es nicht, weil sie unter DX11 schon keine großen Lücken im Arbeitsablauf haben?
Ja, könnte sein. ;)

Wahrscheinlicher ist es aber eher so, dass Nvidia den Trend total verschlafen hat und nun vor hat einfach weiter zu schlafen bis das Thema Asynchronous Shader keinen mehr interessiert. Also wenn eine Firma das schaffen kann, dann Nvidia *970* ;)
 
@Apollo

Das sagt doch alles. nVidia kann das nur über Software. Und über Software hat man Latenzen. Ihr alle wisst was das ist. Über Hardware geht das alles in einem "Guss" hier hat AMD den Trumpf in der Hand, das muss man einfach sagen!
 
SMT/HT funktioniert sowohl unter DX11 und DX12?

Ah nein, Du meinst die 20% Leistung, die sowieso bei einer CPU ständig brach liegen, weil sie die Pipelines nicht immer gefüllt halten kann... Ich verstehe.

D.h. aber auch es könnte sein, dass bei NV die AS wundervoll funktionieren, nur merkt man es nicht, weil sie unter DX11 schon keine großen Lücken im Arbeitsablauf haben?

Meinst Du das jetzt ernst? Machst Du einem 4c/8t-Prozzi Vorwürfe, wenn der Programmierer nur einen thread schafft? Manchmal wundert man sich doch sehr... :schief:
 
Wobei ich diese Tiers schon irgendwie leicht blödsinnig finde... Angeblich unterstützt auch AMD aktuell CR und ROV - per Software halt. So ähnlich wie Nvidia Async Compute - was wiederum eigentlich eine "zwingende" Voraussetzung für eine DX12-Unterstützung überhaupt ist. Aber aus einem mir nicht ganz nachvollziehbaren Grund darf man offenbar eine Software-Unterstützung per Treiber für DX12-"Support" verwenden, aber nicht für DX12 FL12_1... ;)
Ganz allgemein und simpel:

Es ist immer eine Fallunterscheidung nötig.
Die DX Spezifikationen schreiben gewisse Funktionen vor, welche entsprechende Voraussetzungen haben.
Diese Funktionen können mal mehr, mal weniger umfangreich sein, diese Funktionen können mal mehr, mal weniger konkrete Hardware-Anforderungen stellen.
Bei gewissen Funktionen hat der Hardwarehersteller mal mehr, mal weniger konkrete Freiheit bei der Umsetzung und es macht dann mal mehr und mal weniger Sinn, etwas über exotische oder "software Wege" umzusetzen.

AMD könnte über die Software CR und ROVs supporten, genauso wie Intel und Nvidia es auch auf anderem Wege oder für ältere Hardware könnten, die Frage ist, macht das Sinn für die Features?
Offensichtlich macht es für AMD keinen Sinn, da sie es ansonsten umgesetzt hätten und der Treiber eine entsprechende Funktionalität zurückgemeldet hätte.
AMD unterstützt übrigens eine von Intel eingereichte OGL-Erweiterung bezüglich ROVs/Pixelsync, per Software.
Andrew Lauritzen von Intel war natürlich gespannt, wie gut die Konkurrenz das ausführen kann und es lief ziemlich mies, heißt AMD hat das primär aus prinzipiellen Gründen entschieden zu unterstützen.
Jetzt bei DX12, wo die Sache ernster ist und wo die Spezifikationen vielleicht auch mehr konkrete Anforderungen stellen als Intels OGL-Erweiterung, muss man klar sagen ob der Support in der Art und Weise Sinn macht.
Die Antwort ist nein.

Das man aber allgemein durchaus eine große Freiheit bei der Umsetzung gewisser Features genießen kann, beweist ARM:
The Midgard Architecture - ARM’s Mali Midgard Architecture Explored

Tessellation wird über die ALUs umgesetzt und nicht über dedizierte Hardware dafür, die die Aufteilung erledigt.


Die Tiers unter DX12 haben natürlich ihren Sinn und Zweck, indem die vorhandene und zukünftige Hardware feiner unterstützt wird.
Man muss sich immer Fragen, wo ziehe ich allgemein einen Schlussstrich? Je nachdem grenzt man viel Hardware aus, die viele andere Dinge beherrscht und somit auch einen großen Markt.
Oder das Interface Multiengine, wenn man zwingend vorschreiben würde, dass man dedizierte Hardware-Scheduler dafür braucht und asynchron Compute neben der Graphics-Pipeline möglich sein muss, dann gäbe es wie viele DX12 Karten?
Nur von AMD für den Desktop.
Und wenn man die Mobile Konkurrenten heranzieht? Da fehlt mir der Überblick, vielleicht kann es Imagination, vielleicht aber ist AMD bis Heute der einzige Hersteller, der es in dieser Form unterstützt.
Man kann sich natürlich die Frage stellen, wie sinnig es ist Anforderung A mit Anforderung B und C zu vergleichen.
 
Meinst Du das jetzt ernst? Machst Du einem 4c/8t-Prozzi Vorwürfe, wenn der Programmierer nur einen thread schafft? Manchmal wundert man sich doch sehr... :schief:

Nö, halte ich für einen normalen Zustand, allerdings halte ich auch die "gute" Auslastung einer Graka für einen Normalzustand. Wenn 100 von 5000 Shadern nix zu tun haben ....

Die Frage ist halt: Wie genau die Anzeige z.b. vom Afterburner ist. Aber schlimmer als der Taskmanager kanns ja nicht werden.
Du scheinst ja mächtig Durchblick zu haben, aber ist die Programmierung der Grafikkarte nicht eine ganz andere als die eines Prozessors? Muss man sich als Grafik-Programmierer tatsächlich mit Threads rumärgern?
 
nVidia weiss ganz genau das die bei ASYNC derzeit das Nachsehen haben. Es wird ja von einem nVidia Mitarbeiter bestätigt! Welch Aufwand das sein wird und es wird langsamer sein denn es ist nur über Software möglich. nVidia muss es per Hardware in Zukunft können oder die sind schwer benachteiligt. Klar, und wie ich oben schrieb, auf die Anzahl der Spiele. Aber nVidia wird das schon genau wissen.
 
Ich würde auch gerne wissen wie man zigtausend Shader direkt programmiert, damit der Vergleich zum Prozessor nicht zu sehr hinkt :-)
 
Ich würde auch gerne wissen wie man zigtausend Shader direkt programmiert, damit der Vergleich zum Prozessor nicht zu sehr hinkt :-)

Macht man nicht. Eine Titan X hat 24 Multiprozessoren jeder davon kann 2048 Threads gleichzeitig laufen lassen.... öhm ja. Damit ist denke ich klar dass die Threads nicht miteinander vergleichbar sind. CPU Thread -> Komplex und wenige davon, GPU Thread -> lightweight und extrem viele.
Du hast in Cuda eine Unterteilung von Grids-> Blocks-> Threads. Diese Layer sind wie Multithread schon gesagt hat in Arrays angeordnet (2.5 bzw 2D + 3D) Den Koordinaten nach unterscheiden die Threads dann untereinander...
 
Was ist daran eigentlich so schwer ? ACEs machen unter dx12/Vulkan genau das was OoOE + SMT bei Intel CPUs macht :what: (Edit: Weil siehe unten / Die Nachtschicht gestern hat mein Gehirn gegrillt)
Das Nvidia immer noch alles Sequentiell auslasten muss (worin sie zugegebenermaßen bedeutend besser sind als AMD) ist einfach fakt. GPUs sind aufgrund der massiven "Breite" der Architektur aber eigentlich perfekt dafür Tasks Asynchron zu bearbeiten (die Widrigkeiten wie mal ausgeschlossen).
Eine GPU ist im Endeffekt nichts anderes als ein riesiger spezialisierter Multicore-Verbund der anders als CPUs auf sehr vielen Ebenen parallelisiert. Stark vereinfachtes Beispiel: Titan X 24 Cores, jeder Core hat 128 "subcores". Dieses Konstrukt kann ein riesiges Thread Array am laufen haben. Dabei werden die SMs mit 128 Cuda Cores in Blocks mit 32 Cores unterteilt die ihren eigenen Warp Scheduler etc. haben. Um das ganze simpel zu halten: Eine SMM kann maximal 64 Warps mit jeweils 32 Threads gleichzeitig laufen lassen. Die Thread Blocks werden dann auf dieser Infrastruktur ausgeführt (Maxwell 32 pro SM).
Register pro Thread etc., lasse ich jetzt mal weg. Das ist ja alles super toll parallelisiert und auch schön optimiert gerade bei Maxwell z.B die Blocks per SM von 16 auf 32 erhöht d.h ein Block braucht nur noch 64 Threads für optimale Auslastung.

Das ganze wird jetzt aber auf relativ hoher Ebene sequentiell angesteuert. Und da kommen dann halt die SMT/OoOE ähnlichen ACE ins Spiel die Tasks so vermischen, dass immer eine möglicht hohe Auslastung gegeben ist. Nicht mehr und nicht weniger.




@K12 Naja die Maxwells sind schonmal nicht für parallele Fütterung ausgelegt :fresse:
Und ich persönlich würde auch zu deiner Peinlich oder Krass Frage sagen Beides. Hammer wie sich die Dinger so schon auslasten lassen peinlich, dass es nicht besser geht.
 
Zuletzt bearbeitet:
Was ist daran eigentlich so schwer ? ACEs machen unter dx12/Vulkan genau das was SMT bei Intel CPUs macht :what:
Ist eher mit Out-of-order execution vergleichbar.


@K12 Naja die Maxwells sind schonmal nicht für parallele Fütterung ausgelegt :fresse:
Pascal sicher auch NIX:O
NVIDIA will zu Pascal NIX erzählen, warum wohl...

Hammer wie sich die Dinger so schon auslasten lassen peinlich, dass es nicht besser geht.
Naja, die GPUs sind halt darauf ausgelegt.
Per Treiber ist das NIX beeinflussbar.
Maxwell wird mit DX12 nie mehr Leistung bekommen, egal was NVIDIA da per Treiber optimieren will!
 
Ist eher mit Out-of-order execution vergleichbar.

Edit2: Je mehr ich darüber nachdenke hatte ich einen krassen Denkfehler...
Die ganze Threadigkeit der GPUs + die schlaflose Nacht.... Ich würde es immer noch als Mischung bezeichnen... kann ich morgen aber wieder anders sehen xD

Edit3: AMD selbst beschreibt es als SMT... Ich schreibe zu dem Thema heute nicht mehr viel und schlafe lieber mal aus dann kann ich wieder klar denken.
 
Zuletzt bearbeitet:
Vielleicht habe ich es ja übersehen, aber ist mir nicht aufgefallen, dass niemand NVidia anprangert wieder versprochenes nicht liefern zu können.

Bei der letzte NVidia Generation haben die laut rausposaund was für eine super DX12.1 Karte sie ist und somit technisch den AMD`s so voraus, dann noch eine beknackte MondDemo rausgeknallt die nichts mit Games oder deren Zukunft zu tun hat.
Und heute Fakt: Sie unterstützt nicht mal eins der wichtigsten Feature von DX12 (zu mindest von den Dingen die ich mit gekriegt habe)


Das ist einmal mehr Etikettenschwindel ganz einfach.
 
Zurück