PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : GCN vs. KEPLER


lingua
2012-05-04, 12:09:23
Kann man, ausgehend von

http://www.forum-3dcenter.org/vbulletin/showthread.php?t=523564

und

http://www.forum-3dcenter.org/vbulletin/showthread.php?t=506061

von einer Annäherung der Architekturen von Nvidia und AMD sprechen? - ist doch der Aufbau von VLIW (4/5) vs. SKALAR was die ALUs betrifft einer SKALAR /SKALAR Gegenüberstellung gewichen. Ebenso scheint das Verhältnis von Breite Frontend - Breite Backend - Rechenleistung - Texleistung - ROP-Leistung etc. ähnlicher zu sein zwischen den Architekturen als noch in der letzten Generation beider Hersteller.

Wer schaut von wem ab? :tongue:

Wessen Patentanwälte finden zuerst, wonach sie suchen? ;D

Wie weit lassen sich die großen Hersteller überhaupt voneinander "beeinflussen", was die Entwicklung neuer Architekturen angeht?

mfg

davidzo
2012-05-08, 17:34:00
beide Hersteller arbeiten letzendlich bei der erstellung der spezifikationen für die nächste Grafikarchitektur zusammen und zwar in der Khronos Group/ WGF. Nicht unwahrscheinlich dass bei sowas schon konkrete Pläne im Hinterkopf stecken.

Gipsel
2012-05-08, 19:59:44
Kann man, ausgehend von
http://www.forum-3dcenter.org/vbulletin/showthread.php?t=523564 und http://www.forum-3dcenter.org/vbulletin/showthread.php?t=506061 von einer Annäherung der Architekturen von Nvidia und AMD sprechen? - ist doch der Aufbau von VLIW (4/5) vs. SKALAR was die ALUs betrifft einer SKALAR /SKALAR Gegenüberstellung gewichen.Du weißt schon, daß Einstein/Project Denver auf einer (V)LIW-Architektur basieren wird?

Im Übrigen unterscheiden sich Fermi/Kepler/GCN im Detail recht deutlich voneinander. Keplers Scheduling ist zwar deutlich statischer geworden und hat sich wenn man so will der AMD-Lösung angenähert, insbesondere den Ideen dahinter. Trotzdem unterscheidet sich die konkrete Umsetzung schon noch.

Insbesondere haben sich AMD und nVidia bei der Entwicklung der Ausnutzung der ILP bereits passiert. Setzten AMDs VLIW-Architekturen auf dessen Ausnutzung (statisch durch Compiler determiniert, maximal ILP 4 oder 5), so kann GCN ILP prinzipiell überhaupt nicht mehr nutzen. AMD setzt nun vollständig auf TLP.
NV konnte eigentlich auch immer ILP nutzen (war aber anders als AMD nicht so stark darauf angewiesen, Fermi [außer GF100/110] und Kepler benötigen aber ILP, um ihre Peak-Performance zu erreichen). Bei Fermi (und G80/GT200 auch schon) wird ILP genutzt, um die hohen Latenzen der Pipeline zu kaschieren, bzw. die Einheiten überhaupt alle auslasten zu können, da es üblicherweise mehr gibt als Threads gescheduled werden können. Dies erfolgt bis maximal ILP=4, das instruction scheduling Fenster von Fermi ist offenbar 4 Instruktionen pro Warp groß. Dies geschieht mittels dynamischem Scheduling über ein Scoreboard-System, was es aus Stromverbrauchssicht relativ teuer gemacht hat.
Kepler ändert das nun, so daß nur noch Speicherzugriffe über das Scoreboard abgewickelt werden. Die "normalen" Instruktionen werden mittels vom Compiler statisch (bei der Kompilierung) ermittelten Informationen gescheduled, also in gewisser Weise ein Mittelweg. Die Instruktionen werden nicht fest in VLIW-Clauses gepackt, enthalten aber Informationen, wann die nächste Instruktion frühestens losgeschickt werden darf (also ob sie parallel laufen darf, oder z.B. erst noch 4 Takte warten muß). Dies ermöglicht ein relativ einfaches Scheduling mit Hilfe von ein paar latency counters (AMD macht es noch einfacher und benötigt für normale Instruktionen praktisch gar nichts [und benutzt für Speicherzugriffe dependency counter, also sowas Ähnliches wie nV für die arithmetischen Instruktionen]). Bei nV gibt es also nach wie vor eine gewisse Wechselwirkung zwischen Instruktions-Scheduling und Thread-Scheduling (Thread=Warp), wenn auch deutlich vereinfacht. Bei AMD gibt es weiterhin im Prinzip nur Thread-Scheduling (Instruktions-Scheduling ist komplett vom Compiler erledigt, es ist eine strikte in-order-Architektur mit maximal 1 Instruktion pro Thread und Takt [aber es können bei GCN in jeder CU mehrere Threads pro Takt gleichzeitig ihre Instruktionen absetzen], das Thread-Scheduling ist jetzt nur deutlich feinkörniger als bei den VLIW-Architekturen).

Den wirklichen physischen Aufbau der Kepler-SMX und den Ablauf des Scheduling kennen wir meiner Meinung nach übrigens noch gar nicht. Die 6 vec32-ALUs fester Latenz kaufe ich nV noch nicht so ganz ab. Die auf dem Dieshot sichtbare Partitionierung der Registerfiles und die Issue-Rates für die einzelnen Befehle sind noch ziemlich mysteriös. Da benötigt man meiner Meinung nach noch eine ganze Batterie an Tests, um da mehr Licht ins Dunkel zu bringen (auf nV sollte man da nicht warten, die haben für Fermi auch nicht viel rausgerückt sondern man mußte auf low-level-Tests warten).

lingua
2012-05-09, 21:18:39
Erstmal: Vielen Dank!

Da steckt viel Info drin - wenn auch mit Begriffen, die ich nicht kenne....

Wo liegt denn nun global der Vorteil von (V)LIW, dass man

(davon habe ich noch genau 0 gehört)
Du weißt schon, daß Einstein/Project Denver auf einer (V)LIW-Architektur basieren wird?


dazu kommt - hiess es doch, dass die "Fütterung" mit Daten hierbei "schwieriger" sei, da im Falle von Ergebnisabhängigkeiten einzelne 4er oder 5er Blöcke "leerlaufen" mussten, weil sie warten mussten?
Was mich hierbei irritiert, ist die Kehrtwendung der Annahme, dass die effektiv nutzbare Rechenleistung (real Life only) bei nVidias G80-GF110 trotz niedrigerer theoretischer Peaks gleich oder höher der der (V)LIW basierten Karten war und damit flexibler und vielleicht besser auf zukünftige Aufgaben hin abgestimmt. Verstehe ich richtig, dass nVidia mit Einstein davon abgeht?

Kannst Du zu Einstein/Project Denver noch was sagen?


mfg

Knuddelbearli
2012-05-09, 21:50:22
kommt auf den bereich an

gerade im wissenschaftlichem unfeld zeigt VLIW seine stärken da dort viel hardwarenäher programmiert werden kann und man stärker auf die vor und anchteile eingehen kann


siehe zB Boinc und co, wenn das auf amds VLIW angepasst wurde sag NV absolut kein land mehr

hell_bird
2012-05-09, 21:54:00
@Gipsel: Epic Post!


Was mich hierbei irritiert, ist die Kehrtwendung der Annahme, dass die effektiv nutzbare Rechenleistung (real Life only) bei nVidias G80-GF110 trotz niedrigerer theoretischer Peaks gleich oder höher der der (V)LIW basierten Karten war und damit flexibler und vielleicht besser auf zukünftige Aufgaben hin abgestimmt.
Das wichtigste Ziel in Zukunft ist es die benötigte Energie pro Operation zu miminieren, weil die Gesamtrechenleistung davon abhängt. VLIW ist in der Beziehung sehr attraktiv. Ich würde die Nvidiaarchitektur aus der Zukunft nicht unbedingt mit der AMD architektur aus der Vergangenheit vergleichen. Da werden bestimmt noch viele gute Ideen einfließen, die es eben auch ausreichend flexibel macht.