DevPandi schrieb:
Da wird man abwarten müssen, was wirklich kommt. RDNA 5 könnte bereits ein Vorbote von UDNA sein.
Das ist jetzt die Frage, abwarten oder spekulieren.
Ich bin für spekulieren, siehe unten
Das was Jack Huynh zu UDNA gesagt hat, enthält zwei Kernpunkte:
- Eine Architektur für alles von Cloud bis Client
- Vorwärts- und Rückwärtskompatibilität der Architektur
Das passt IMO nicht zu einem graduellen Übergang.
Ich habe zuerst das was Jack Huynh in diesem Interview gesagt hat, nicht sonderlich ernst genommen.
Eine Midrange Startegie zu verkünden ist entweder ein Ausstiegsszenario oder ein Ablenkungsmanöver. Millionen Entwickler nahm ich als Plattitüde war.
Aber im Zuge dieser RDNA4 Diskussion habe ich es mir nochmal genau durchgelesen und dann auch anderes was ich in diesem Jahr aufgesammelt habe. Und nun ergibt das was Jack Huynh zu UDNA gesagt hat für mich sehr viel Sinn. Und im Kontext zu UDNA ergibt auch die Midrange Strategie Sinn.
Jack Hunh über den Zeitpunkt bei TH:
Vom Standpunkt der Entwickler aus betrachtet, lieben sie diese Strategie. Sie wünschten, wir hätten es schon früher gemacht, aber ich kann das Triebwerk nicht während des Flugs wechseln. Ich muss den richtigen Weg finden, um das anzupassen, damit ich nicht alles kaputt mache.
-----
DevPandi schrieb:
Man muss an der Stelle aber festhalten, dass die Zusammenführung von RDNA und CDNA eigentlich keine Neuheit ist, sondern so bereits 2019 kommuniziert wurde, dass AMD früher oder später RDNA und CDNA wieder zusammen führen wird.
Aber danach hat AMD offiziell immer etwas anderes gesagt. Was ich gerne glaube ist, dass es intern bei AMD immer unterschiedliche Ansichten dazu gab. Ganz besonders die Softwareentwickler werden über die Zweiteilung unglücklich gewesen sein.
Dass diese Entscheidung für UDNA zu spät erfolgt ist, spricht IMO nicht für einen großen Plan. Eher für eine Option, die man zu spät wählt.
AMD hat das Trennen von RDNA und CDNA immer wieder als das Paradebeispiel für domain spezific Architectures präsentiert.
DevPandi schrieb:
Es war also klar, dass AMD die Entwicklungsstränge von CDNA und RDNA mit der Zeit wieder zusammen führen wird.
Ich habe damals diesen Satz nicht gelesen oder er ist mir nicht bewusst geworden. Alles was ich von AMD dazu mitbekommen habe war "Es ist besser zwei Architekturen zu haben".
Die WMMA-Befehlen einzuführen, die auf den Shadern ausgeführt werden, anstatt auch in RDNA Matrixeinheiten zu implementieren, sehe ich als Langzeitstrategie. Diese Entscheidung war aus Sicht des Softwarestacks von Anfang an falsch und mit dem AI Hype ist nun offensichtlich, dass sich AMD verzockt hat.
DevPandi schrieb:
Mich würde es nicht wundern, wenn wir in UDNA dann teile der WGP sehen werden, man bei Vec32 bleibt, gleichzeitig aber auch Verbesserungen aus CDNA dann mit nimmt, so wie es eben Sinn macht.
Mit Vec32 hast Du IMO recht. Das verwendet Nvidia auch in den Data Center GPUs. Aber bei den WPG muss AMD den Ansatz komplett überdenken.
Eine tolle neu Architektur mit überragendem PPA, ist nicht Mal die halbe Miete. AMD muss einen Softwarestack präsentieren der mit CUDA konkurieren kann. Das hat AMD inzwischen begriffen und daran schraubt AMD.
Eigentlich muss AMD einen Softwarestack präsentieren der CUDA ablösen kann.
Spekulation
Timeline
- Juni 2022: Auf dem Financial Analyst Day präsentiert Victor Peng die Vision eines gemeinsamen Softwarestacks für CPU, RDNA, CDNA und XDNA, er wird von Embedded über den Client bis ins Data Center reichen.
- Ende 2022: RDNA 3 erfüllt die Erwartungen von AMD nicht.
- RDNA 3 erreicht nicht die vorab angekündigten 50 % Effizienzsteigerung, erst recht nicht die 54 % die AMD bei der offiziellen Präsentation verkündet hat.
- Die 3 GHz, die AMD im Deep Dive als Taktziel angibt, werden nicht erreicht. Dabei ist nicht die Taktfähigkeit an sich das Problem, sondern dass RDNA3 bei hohem Takt viel zu viel Power zieht.
- Anfang 2023 beginnt der AI Hype
- Anfang 2023: Auf einer Reise nach Japan erklären David Wang und Rick Bergman, dass AMD keine Gaming Grafikkarten über 1000 USD auf den Markt bringen kann.
- Ab Frühjahr 2023 zirkulieren Gerüchte, dass AMD bei RDNA4 keine Highend Karten bringen wird.
- Im April 2023 löst Jack Huynh Rick Bergman ab. Rick Bergman geht nicht wie von AMD verkündet in den Ruhestand.
- Im May 2023 machen Gerüchte die Runde RDNA5 wäre eine Clean Sheet Architecture, also ein kompletter Neuanfang.
- Am 13. Juni 2023 präsentiert auf der "AMD Data Center and AI Technology Premiere" die MI300X die gegen Jahresende verfügbar werden soll. Am 6. Dezember erfolgt die endgültige Vorstellung.
- Im August 2023 präsentiert Scott Herkelman Navi 32 in der Form von 7700XT und 7800XT. Damit ist RDNA3 komplett.
- Im September 2023 verkündet Scott Herkelmann seinen Abschied auf Ende Dezember 2023. Besetzungen auf dieser Hierarchieebene verkündet AMD gewöhnlich nicht per Pressemitteilung. Damit ist mir unklar mit wem und wann diese Position neu besetzt wurde. Am 6. Januar werden wir es eventuell erfahren.
- Im Juni 2024 verkündet AMD eine Roadmap für Data Center GPUs
- MI325 Ende 2024/Anfang 2025 (MI300 mit höherem Takt und mehr Speicher)
- MI350 mit CDNA4 für das 2. Halbjahr 2025
- MI400 mit CDNA Next für 2026. Nicht CDNA5!
- Im Juli 2024 verkündet Jack Huynh, dass bei AMD in Zukunft die Software einen viel höheren Stellenwert haben wird.
- Die Ankündigung ist aber keine Neuigkeit. ROCm steht schon längst im Blickpunkt.
- AMD hat auch sehr viel Geld in die Hand genommen um Softwareunternehmen und damit auch Softwareentwickler zu übernehmen.
- Im September 2024 verkündet Jack Huynh die Midrange Strategie und UDNA.
- Das verkünden der Midrange Strategie bestätigt einerseits die Gerüchte dass es bei RDNA4 kein High End geben wird und beendet andererseits alle Spekulationen warum es fehlt.
- Die Midrange Strategie schlägt hohe Wellen. Branchenbeobachter interpretieren die Midrange Strategieals Verschieben von Ressourcen zu den Data Center GPUs
- Die Ankündigung des Merge von RDNA und CDNA zu UDNA wird deutlich weniger wahrgenommen
Back ground
Ziel verfehlt
AMD wusste schon bei der Präsentation von Navi 31 im November 2022 dass RDNA3 massive Probleme hat. Aus den Fußnoten kann man ersehen, dass AMD viel mehr Games gestestet hatte und mit voller Absicht nur die herausgesucht hat, die auf Navi 31 gut performten. Die 54 % Effizienzsteigerung wurden auch nach 2 Jahren noch immer nicht gefunden.
In dem Moment als in den Leaks die Die Sizes von Navi 31, 32 und 33 offenbar wurden, war eigentlich klar dass AMD keine Chance hat mit Navi 31 die 4090 zu packen. Eigentlich: Ein Füncken Hoffnung blieb wegen der damals geleakten Zahl der Shader.
Wäre die 7900 XTX die verkündeten 54 % effizienter als RDNA2 und hätte die 7900 XTX die 3 GHz Boostfrequenz innerhalb der TDP erreicht, wäre alles gut gewesen. 7900XTX so ziemlich in der Mitte zwischen RTX4090 und RTX4080.
Es war aber nicht alles gut. Die 7900XTX war nur einen Hauch vor der 4080. Und nach so einem Fehlschlag, darf es nicht mit Business as usual weitergehen.
Scheinbar gute Ideen
Ich fand es sehr gut, dass AMD mit RDNA endlich die Hardwareleistung auf die Straße bekommen konnte. AFAIU war das Einführen von Wave 32 der Schlüssel die Hardware bei Games besser auszulasten.
Außerdem spart RDNA Die Fläche, weil RDNA im Gegensatz zu CDNA und Nvidia keine dezidierte Hardware für Matrixoperationen hat. Wie oben ausgeführt ist es absehbar, dass dies AMD auf die Füße fällt.
Prinzipiell war das Trennen so eine Entscheidung, die auf dem ersten Blick logisch und folgerichtig erscheint. Die sich jedoch, sobald man alle Konsequenzen erkannt hat, als falsch herausstellt.
Grundsätzliches Problem
Dass der Wechsel auf domainspezifischen Architekturen spätestens nach zwei oder drei Generationen keinen weiteren Vorteil bringt und sich dann die Nachteile bemerkbar machen ist ein
allgemeines Phänomen. Da sich die Entwicklung der Transtordichte verlangsamt, hieß es, dass nun domainspezifische Archtekturen eine Chance hätten.
Raja Koduri hat erwähnt, dass jedes Jahr die Effizenz des GPU-Softwarestacks um den Faktor 3 gesteigert wird (bezogen auf dieselbe Hardware). Das ist einer der Gründe warum so gut wie alle Start ups mit toller AI optimierte Hardware gegen die Wand laufen und AFAIU warum Intel Gaudi aufgibt.
Genau das hat Jack Huynh bei TH gesagt:
Wir haben es geforkt, weil man dann die Sub-Optimierungen und die Mikro-Optimierungen bekommt, aber dann ist es sehr schwierig für die Entwickler, vor allem, weil wir unser Rechenzentrumsgeschäft ausbauen, also müssen wir es jetzt vereinheitlichen.
Unerwünschte Folgen
Das Trennen von RDNA und CDNA bedeutet: AMD hat beschlossen zwei inkompatible GPU-Architekturen zu entwickeln. Das hat es in den ersten Schritten ermöglicht, ein paar domainspezifische Optimierungen zu machen. Doch nachdem diese domainspezifische Optimierungen implementiert sind, geht es nicht weiter. Alle weiteren Performancesteigerungen oder Erweiterungen betreffen beide Architekturen und müssen doppelt implementiert werden.
Aber nicht nur die Hardwareentwickler sind betroffen. Dies betrifft auch den Softwarestack der zwei inkompatible GPU-Architekturen abdecken muss.
Deshalb war AMD lange nicht in der Lage ROCm für RDNA bereitzustellen.
Viele Leute im AI und HPC Umfeld beklagen diese Folge der Inkompatibilität. Denn damit ist es nicht möglich Software auf dem PC zu entwickeln und zu testen und dann auf den Servern auszurollen. Bei Nvidia geht das problemlos und dies ist einer der großen Vorteile den Nvidia bietet.
Ganz davon abgesehen, dass der Einstieg in die GPU Programmierung viel einfacher ist, wenn die GPU, die man programmiert, im eigenen PC steckt.
CUDA reicht vom Client bis ins Data Center. Und wenn AMD im Data Center mit Nvidia konkurrieren will muss AMD auch auf dem Client mit CUDA konkurrieren. Denn nur so kann AMD ausreichend viele Entwickler für den eigenen Softwarestack interessieren.
Immer alles neu
Jack Huynh bei TH
Also, eines der Dinge, die wir tun wollen, ist ... wir haben einige Fehler mit der RDNA-Seite gemacht; jedes Mal, wenn wir die Speicherhierarchie, das Subsystem, ändern, muss die Matrix der Optimierungen zurückgesetzt werden. Das will ich nicht. Wir denken also nicht nur an RDNA 5, RDNA 6, RDNA 7, sondern auch an UDNA 6 und UDNA 7. Wir planen die nächsten drei Generationen, denn sobald wir die Optimierungen haben, will ich bei einer Änderung der Speicherhierarchie nicht die meisten Optimierungen verlieren. Wir erzwingen also gewissermaßen das Problem der vollständigen Vorwärts- und Abwärtskompatibilität. Wir machen das heute auf der Xbox; es ist sehr machbar, erfordert aber eine fortgeschrittene Planung. Es ist viel mehr Arbeit, aber das ist die Richtung, in die wir gehen.
Für den Softwarestack und die Treiber bedeutet die Inkompatibilität zwischen den Generationen, dass für jede Generation jede Menge Software angepasst werden muss. Für AMD bedeutet es im Klartext, sie haben nicht nur einen Rückstand im Softwarestack auf Nvidia, sie haben auch viel mehr Aufwand um den Softwarestack an die neuen Generationen anzupassen.
Raja Koduri hat im Juli eine Vortrag über die Performance von GPUs gehalten.
Auf Twitter hat er eine Zusammenfassung gepostet u. a. schreibt er:
Ein weiterer Aspekt von CUDA, der nicht allgemein geschätzt wird. Das CUDA Programmiermodell ist eine echte Abstraktion des NVIDIA GPU HW-Ausführungsmodells. Die Hardware und die Software werden gemeinsam entwickelt und sind an der Hüfte verbunden.
Und da Nvidia CUDA und die GPUs sorgsam weiterentwickelt, sind die Nvidia GPUs über mehrere Generationen hinweg kompatibel. Weil das Programmiermodell und die Hardware aufeinander abgestimmt sind,
- hat CUDA eine sehr gute Performance.
- haben alle Konkurrenten Probleme CUDA kompatibel zu sein. Wenn die eigene Hardware nicht zu CUDA passt wird es ineffizient.
- haben neue GPU Generationen bei Nvidia von Anfang an eine sehr gute Performance.
Gute Ideen zum Aufholen sind nicht genug
Auf der Softwareseite war HIP eine gute Idee. HIP an CUDA anzulehnen, macht das Portieren von Software einfacher und es für die Programmierer vertraut. Allerdings bedeutet es Nvidia hinterherzulaufen.
Wer nur hinterherläuft kann nie überholen. 2015 gab es für AMD keine andere Option. 2024 ist es nun an der Zeit sich anders aufzustellen. AMD muss einen Softwarestack präsentieren der CUDA ablöst. Wenn es AMD nicht macht, macht es jemand anderes.
Wie Meiner Meinung nach alles zusammenpasst
Eine Implosion und eine gleichzeitige Expolsion
Sobald AMD erkannt hat, dass RDNA3 die Erwartungen nicht gab es eine interne Untersuchung darüber was genau schiefgelaufen ist und ob die Roadmap noch passt.
- Das Chipdesign ist u. a. deshalb so teuer, weil ein riesiger Aufwand betrieben wird, die Chips zu simulieren.
- Deshalb ist das Verfehlen der Erwartungen kritisch und muss genau aufgeklärt werden. Es muss auch geklärt werden ob die Simulationen falsch waren oder nur falsch interpretiert wurden.
- Es ist zu klären in wie weit die nächste Generation RDNA4 von demselben Problem betroffen ist.
- Es ist zu klären, ob die vorgesehene Roadmap noch passt.
Ich bin ziemlich sicher, dass sich Lisa Su direkt für dieses Thema interessiert hat, da sie bei der Vorstellung von Navi 31 eine ziemlich schlechte Figur abgegeben hat. Alles was sie präsentiert hat wurde als Schönfärberei oder Übertreibung entlarvt.
Parallel zum Launch von RDNA3 begann der Hype um Machine Learning aka AI. Damit war klar,
- dass AMD schleunigst die MI300X auf den Markt bringen muss.
- dass AMD die Data Center Road Map beschleunigen muss.
- dass AMD die Entwicklung des Softwarestacks noch mehr beschleunigen muss.
- dass AMD mit einem Softwarestack, der nur fürs Data Center taugt, nicht weit kommt.
Es IMO unvermeidbar, dass der doppelte Aufwand für RDNA und CDNA zur Sprache kam. Es ist sehr wahrscheinlich schon damals die Erkenntnis vorlag, dass AMD die GPU Architektur vorwärts- und rückwärtskompatibel machen muss.
Im Laufe der Beratungen muss klar geworden sein, dass das Weiterführen von RDNA und CDNA als eigenständige Architekturen es unmöglich macht, dass AMD tatsächlich mit Nvidia konkurieren kann. Wenn es so war wie
@DevPandi sagt, dass AMD so oder so vorhatte RDNA und CDNA wieder zusammenzuführen, war nun der Zeitpunkt gekommen. Wenn es lediglich einige Leute gab die das Zusammenführen immer für erstrebenswert hielten, hatten sie nun nicht wiederlegbar Argumente dafür, es jetzt zu tun.
Na gut wirs führen es jetzt zusammen
Aber wer soll das machen? Die Planung, Architekturentwicklung und die Roadmaps beider Teams können sofort zusammen gelegt werden. Aber jemand muss sofort (Frühjahr 2023) mit der Konzeption und RTL Programmierung der UDNA IP beginnen.
Die laufende Arbeit an CDNA muss unvermindert fortgesetzt werden, bis erste UDNA GPU CDNA nahtlos ersetzt. Ein Jahr innezuhalten könnte sich als fatal erweisen. Nvidia würde weiter enteilen und andere könnten zu AMD aufschließen oder könnten AMD überholen.
AMD steht mit RDNA ohne radikalen Richtungswechsel so oder so auf verlorenem Posten. Deshalb ist es sinnvoll den Richtungswechsel mit den Ressourcen des RDNA Teams einzuleiten. Dazu wird das geplante RDNA4 Lineup gekippt und nur das kleinste Die weiterverfolgt. Als Ergänzung des Lineups wird dieses Design verdoppelt. Somit kann eine Rumpfmannschaft an RDNA4 weiterarbeiten während die Masse des Teams die Arbeit an UDNA aufnimmt.
Die Gesamtverantwortung des Projektes bekommt Jack Huyhn der Rick Bergman ablöst. Scott Herkelman darf noch 7700XT und 7800XT präsentieren.
Genug der Spekulation, wars so?
Dass die Entscheidung zum Wechel auf UDNA im Frühjahr 2023 erfolgt ist, ist reine Spekulation.
Man kann die Zeitlinie auch anders interpretieren.
Wir wissen es sobald die Nachfolger von CDNA4 und RDNA4 erscheinen. Bei CDNA tippe ich Mal auf Ende 2026 und RDNA auf Anfang 2027.