AW: AMD Radeon RX Vega 56: Gut 1.700 MHz bei bis zu 400 Watt Leistungsaufnahme möglich
Das liegt daran, dass es eine Auftragsarbeit/Diplomarbeit war zu einem Thema mit dem ich mich davor und danach kaum befasst hab - wie das oft so ist. Dann arbeitet man rein nach Dokumentation, API und Co.
Wenn mich ein Thema über Jahre interessiert, dann wär das ganz was anderes. Ende der 90er habe ich etwa einen Renderer geschrieben welcher nativ in Glide funktioniert hat. Nach dem "Tod" von 3dfx habe ich aber irgendwie das Interesse verloren (davon abgesehen war er sowieso nie weder schnell, noch bugfrei ^^). Ich interessiere mich aber seither für Carmacks Open Source Engines von Doom über Quake 3 sogar Doom 3 liegt ja offen. Und es gibt einige hervorragende Seiten und Bücher die die Wolfenstein, Doom, Doom3 usw Engine auch für ... ich sag mal "interessierte Laien" erklären:
Doom3 Source Code Review: Introduction
[...]
Danke für die Links, bei Fabian und Doom 3 war ich vor ein paar Wochen, aber ich habe es mir nicht durchgelesen.

Stattdessen einen Artikel bei Kotaku über den Schreibstil vom Code:
[Die Direktverlinkung artet in einer Bibel als URL aus]http://kotaku.com/5975610/the-exceptional-beauty-of-doom-3s-source-code
[...] Zugegeben, das mit den vielen Transistoren im Gegensatz zu TeraScale habe ich von der schlimmsten Quelle von allen (mein ich im Ernst): Wikipedia über GCN.
GCN hat viel größere Caches, statt 8KB L1$ sind es 16KB und statt 32KB Local Data Cache sind es 64KB.
Zusätzlich gibt es einen 32KB großen Instruction-Cache für bis zu 4 CUs (4x64 ALUs) und 16KB Scalar-Cache.
Effektiv auch mehr Vektor-Register gegenüber VLIW5-Einheiten, es gibt 4KB große Register für die Skalar-Unit, die es vorher gar nicht gab.
Dann hat man sicherlich die Caches beim Front-End auch erhöht, PCIe Gen 3 kam dazu, UVD in einer neuen Version, VCE für das Video Encoding war eine Neuheit.
Einfach so viel was neue Features angeht.
Wenn ich kurz reinschaue, dann hat eine 7770 1,5 Mrd. (+50%) Transistoren vs. 1,04 bei der HD 5770:
AMD Radeon HD 7770 und HD 7750 im Test: Enttauschende Mittelklasse - ComputerBase
Eine 7770 hat dazu noch mindestens einen doppelt so großen L2$.
Im Schnitt war eine 7770 19% schneller, als eine 6770, obwohl letztere 6% mehr Rohleistung besitzt:
AMD Radeon HD 7770 und HD 7750 im Test: Enttauschende Mittelklasse (Seite 6) - ComputerBase
In Anbetracht der ganzen Features und das GCN als neue Architektur mit einem unreifen Compiler am Start ging gegenüber der dritten VLIW-Generation, finde ich das die 50% mehr Transistoren auf jeden Fall nicht zu viel wirken, für das was zum Launch geleistet wurde.
Aber das war kein Pro-Takt-Vergleich, so einen haben wir ungefähr beim Link unten, wo alles gleich ist, außer die Rohleistung, da VLIW pro Cluster mehr "ALUs" besitzt:
AMD Radeon HD 7770 und Radeon HD 7750 im Test - Architekturvorteil GCN? (Seite 4) - HT4U.net
Bei den unterschiedlichen Spielen und Einstellungen war GCN im Schnitt ~12% schneller, dabei lag die 5770 Rohleistung 25% höher, was wir mal flappsig als 37% mehr Leistung pro Takt übersetzen.
Dabei gab es Spiele mit 18-30% mehr praktischer Leistung, also 43-55% mehr "IPC".
Ich kann von außen leider nicht beurteilen, wieviel R&D Budget in den Jahren 2006 bis 2011 vorhanden war bei AMD/ATI (also zwischen kauf von ATI und dem Release von Bulldozer und GCN, nachdem es erst richtig zum "sparen" wurde), aber nach 2011 hatte man wohl wirklich an allen Ecken und Enden zu wenig Geld/Resourcen.
[...] Dass der Vorsprung größer geworden ist statt kleiner verwundert, da Nvidia ja auch "nur mit Wasser kocht" und ich der Meinung war, sie müssten früher oder später an den Grenzen der Effizienz ankommen und somit AMD zwangswiese aufholen.
Die Fusion war auf jeden Fall turbulent und hat Geld und Personal gekostet, als GCN erschien sind noch weitere Fachkräfte abgesprungen im Laufe der Zeit.
AMD hat den damligen CTO Eric Demers an Qualcomm verloren und Apple einige Ingenieure übernommen.
Das die Ressourcen natürlich fehlen, sah man an den kleinen Schritten pro GCN-Version und das AMD immer weniger Chips für den Markt aufgelegt hat.
Zu GCN Gen 1 Zeiten gab es 3 Chips in relativ kurzer Zeit und später noch einen vierten, bei Gen 2 gab es nur Bonaire und Hawaii, bei Gen 3 und 4 wieder drei Chips (Iceland, Tonga, Fiji/P10,11, 12), aber AMD hat praktisch seit GCN Gen 1 keinen ganzen Product-Stack ersetzt.
Natürlich kann man noch die Konsolen einwerfen, dass kostet immerhin "nur" Personal, aber die Chips müssen auch entwickelt werden.
Mit Volta scheint es so zu sein, dass Pascal definitiv nicht an einer Grenze beim Thema Effizienz anbelangt ist, wenn Nvidia pro Rechencluster 40-50% höhere Effizienz verspricht, wofür es auch viele Gründe gibt.
Dass jedoch Vega noch weniger von der theoretisch vorhandenen Leistung "auf die Straße" bringt, verblüfft.
Pro Mhz jedenfalls nicht weniger als Fiji:
Radeon RX Vega 64 & 56 im Test: Der helle Stern wirft lange Schatten (Seite 7) - ComputerBase
Ich habe den Test ja schon einmal verlinkt, BF1 ist 25% schneller und Titanfall 2 24%, es gibt entsprechend Spiele, wo die neue Architektur ordentlich die Alte abzieht, aber was sind die Gründe?
Wenn man das bessere Pixel-Backend berücksichtigt, das bessere Geometrie-Frontend, den DSBR und dann gibt es Spiele, wie Gears of War 4 und Ashes of the Singularity die sogar langsamer laufen, dann kann da was nicht stimmen.
Aktuell sieht es so aus, als würde man sich nicht zu weit aus dem Fenster lehnen, wenn man noch einen zweistelligen Zuwachs durch bessere Treiber erwartet.
Das klingt in der Tat beeindruckend, da fragt man sich warum das die Ingenieure vorher nicht geschafft haben. War es der Tunnelblick (warum dort überhaupt herumbasteln?) oder mangelndes Knowhow?
Und meine generelle Frage: wieviel vom Gesamtbudget (Power sowie Transistor, Diefläche) sind die Register?
Also die Frage kannst du ja jedes mal stellen, wieso hat man das nicht früher geschafft.

Ich denke das Budget hat gefehlt, bei Zen wurde wieder fokussiert investiert und die Erfahrung hat auch der GPU-Abteilung beim SRAM-Design geholfen.
Bezüglich Power und Fläche pro Register, keine Ahnung, Gipsel hat vor langer Zeit den Flächenverbrauch unterschiedlicher Bausteine ausgerechnet anhand vom Tahiti die-shot:
https://www.forum-3dcenter.org/vbulletin/showthread.php?p=9197796#post9197796
Das gibt einem wenigstens eine grobe Orientierung.
Register und Caches verbrauchen auf jeden Fall viele Transistoren, in der Regel sind es glaube ich 6 Transistoren pro Bit (Es können auch mehr oder weniger sein, je nachdem wird unterschiedlich abgewogen)
Eine CU hat 256KB an Vektor-Registern x 8 = 2048 Bit x 6 = 12.288 Transistoren.
Jetzt mal 64 = 786.432 Transistoren nur für die Register.
Hmm mir ist der Performanceeinfluss bei Cache miss bei der CPU klar, ich wusste nicht, dass er bei der GPU so stromhungrig ist. Der Unterschied ist natürlich groß, 31% sind viel.
Man kann nur nicht herleiten, wie viel Strom 31% mehr Cache-Flushes insgesamt verbrauchen würden.
Da ist halt die Frage, warum nicht mehr Performance dabei in den Spielen sichtbar ist: ist da noch so viel Treiberarbeit nötig oder Entwicklerarbeit (bzw falls beides, welches würdest du mehr gewichten?).
Treiberarbeit, da viele Verbesserungen ganz ohne explizite Kontrolle existieren und die Ergebnisse dennoch so schwach ausfallen.
Das ist etwas, was mir noch nicht ganz klar ist, warum so dermaßen viel Transistoren nötig sind, um höher takten zu können. Die Konkurrenz hat dies ja auch ohne geschafft, wenn ich von Kepler -> Maxwell ausgehe.
Das hat auch bei Nvidia Implikationen auf ihr Design, man kann den Einfluss nur nicht isoliert betrachten, wenn sich vieles an einer Architektur verändert hat.
AMD gab an bei ihrem Textur-Dekompressionsschritt mehr Stages eingefügt zu haben, damit pro Stage insgesamt weniger gemacht wird und man das ganze Design höher treiben kann und nicht eine Stage limitiert.
Auch hat man Instruction-Fetch und das Decoding für die ALUs neu aufgebaut (Seite 11-12):
http://radeon.com/_downloads/vega-whitepaper-11.6.17.pdf
Meinst du im Treiber/Compiler/Entwicklertools oder an der Architektur selbst bzw für die Zukunft (Navi)
Im Treiber, mit Vega existiert ein neuer Geometrie-Pfad, welcher aktuell gar nicht zum Einsatz kommt und wo wir auf einen zukünftigen Treiber warten, bis AMD das implementiert.
Die explizite Steuerung für Entwickler ist noch in einer Evaluationsphase, ob man das anbieten möchte, aber das kann der Treiber auch implizit selber für Spiele erledigen.
Wie immer stellt sich die Frage, wie gut das funktionieren wird und was man erwarten kann.
Warum eigentlich nicht gleich alles "10nm"? Würden dadurch die Yieldraten sinken? Wäre es nicht Vorteilhaft für den gesamtverbrauch? Was konkret wären die erwarteten Vorteile, welche sind Nachteile?
Die Yields sind ein großes Problem bei größeren Chips und da die Fertigung immer teurer und teurer wird, sind schlechte Yields auch immer kostspieliger.
Anstatt 1x600mm² zu produzieren, sind 4x 200mm² kostengünstiger.
Man kann es beim Beispielbild aber weitertreiben und sagen, okay alles was High-Performance ist und wichtig, wird in 10nm hergestellt, alles was nicht so sehr beim Stromverbrauch sich niederschlägt und z.B. im Betrieb auch oft einfach abgeschaltet ist, kann man in 14 oder 22nm produzieren und Kosten sparen.
Es gibt Analoge- und Digitale-Schaltungen, welche unterschiedliche Optimierungen benötigen, alles unter einem Prozess ist suboptimal, auch wenn der Schaltungstyp der gleiche ist.
Z.B. möchtest du CPUs und GPUs eig. auch nicht auf einem die haben, weil du dann Kompromisse für beide Typen eingehen musst.
Getrennt könntest du aber unterschiedliche Prozesse, jeweils optimiert verwenden.
Der Nachteil ist natürlich, dass die Latenzen und die Bandbreite von Device zu Device gut genug ausfallen müssen.
Das Packaging wird dagegen komplexer und teurer.
HBM ist ja relativ simpel und das kostet aktuell Mühe und Not.
EPYC mit 4x Zen macht eine gute Figur, aber die erhöhten Latenzen schlagen sich in der Performance bei einigen Anwendungen stark nieder.