13

Gerüchteküche: Shader-Cluster von "Ada Lovelace" mit deutlich höherer Rechenkraft

Twitterer Kopite7kimi zeigt einige Interna zum AD102-Chip von nVidias "Ada"-Generation – teilweise basierend auf bekannten Leaks, teilweise aber auch auf Annahmen des Twitterers basierend. Damit kann man noch nicht fest von diesen Daten ausgehen, auch wenn dies alles durchaus plausibel erscheint. Mit dabei ist wieder die kürzlich schon dargelegte Veränderung bei der Einheiten-Anzahl pro Shader-Cluster (SM): Neben den 128 FP32-Einheiten wie bei Gaming-Ampere gibt es dann auch noch 64 dedizierte INT32-Einheiten – womit sich die FP32-Einheiten bei "Ada" dann ganz ihren Fließkomma-Aufgaben widmen können. Damit diese Einheiten-Aufstockung aber auch in der Praxis für mehr Durchsatz und damit mehr Rechenkraft sorgt, geht der Twitterer von bedeutsamen Aufstockungen an der Kontroll- und Verwaltungs-Logik aus.

    nVidia AD102

  • 12 GPC, 72 TPC, 144 SM, 18'432 FP32-Einheiten  (+71% mehr als bei GA102)
  • ein SM besteht aus 128 FP32-Einheiten und (extra) 64 INT32-Einheiten  (GA102: 64 FP32 + 64 FP32/INT32)
  • 64 Warps per SM  (ein Drittel mehr als bei bei GA102)
  • 2048 Threads per SM  (ein Drittel mehr als bei bei GA102)
  • 192 kByte Level1-Cache per SM  (anderthalbmal so viel wie bei GA102)
  • 32 ROPs per GPC  (doppelt so viel wie bei GA102) = 384 ROPs für den kompletten Grafikchip
  • insgesamt 96 MB Level2-Cache  (16mal so viel wie bei GA102)
  • Quelle: Kopite7kimi @ Twitter am 13. Mai 2022

So steigt die Anzahl der Warps (Bündelung von Threads, die gleichzeitig in einem SM ausgeführt werden) sowie die Anzahl der Threads pro Shader-Cluster gegenüber dem GA102-Chip jeweils um ein Drittel. Hinzu kommt eine Anhebung des Level1-Caches von 128 auf 192 kByte, ergo um die Häfte mehr. Dies sollte eine gute Grundlage dafür bilden, dass nVidia in der Praxis dann tatsächlich mit bis zu 192 Ausführungseinheiten pro Shader-Cluster operieren kann – sprich, auch die Taktraten-normierte Rechenkraft pro Shader-Cluster wiederum ansteigt. Wenn man grob kalkuliert, dass auf 100 FP32-Operationen ca. 36 INT32-Operationen kommen, (die bei GA102 von den FP32-Einheiten mit erledigt wurden), dann hat der GA102-Chip in der Praxis letztlich nur 73% seiner nominellen FP32-Rechenleistung erreichen können.

alles gerechnet pro Shader-Cluster (SM) Turing Gaming-Ampere Ada Lovelace
rein FP32 / rein INT32 / dual-use Einheiten 64 / 64 / — 64 / — / 64 128 / 64 / —
theoretischer maximaler Durchsatz 64 FP32 + 64 INT32 128 FP32 oder 64 FP32 + 64 INT32 128 FP32 + 64 INT32
Durchsatz bei 100 FP32 zu 36 INT32 64 FP32 + 23 INT32 94 FP32 + 34 INT32 128 FP32 + 46 INT32
realer FP32-Durchsatz (ggü. Vorgänger) 64 FP32 94 FP32 = +47% 128 FP32 = +36%
Insgesamt-Durchsatz (ggü. Vorgänger) 87 FP32/INT32 128 FP32/INT32 = +47% 174 FP32/INT32 = +36%
bezüglich "Ada Lovelace" basierend auf unbestätigten, unsicheren Angaben; alle Durchsatz-Angaben errechnet bei 36 INT32 pro 100 FP32

Beim AD102-Chip sollte der reale FP32-Durchsatz dann tatsächlich das theoretische Maximum erreichen können, da mittels der extra INT32-Einheiten die FP32-Einheiten nicht mehr von dieser (INT32)-"Nebenaufgabe" blockiert werden. Im von nVidia genannten Beispiel mit 36 INT32-Operationen pro 100 FP32-Operationen werden allerdings die zusätzlich INT32-Einheiten eines "Ada"-SM auch nicht ganz ausgelastet. Die Differenz ist nicht wirklich bedeutsam, sicherlich auch Bauart-bedingt (man verbaut halt die Einheiten in üblicherweise symetrischen Größen) und letztlich ist diese Rechnung schließlich nur ein durchschnittliches Modell, in der Praxis wird das reale Rechenaufkommen immer wieder schwanken. In jedem Fall kommt eine gehörige Durchsatz-Steigerung bei den Ada-SMs heraus, egal ob rein auf FP32-Code bezogen oder insgesamt betrachtet.

Im vorstehenden Beispiel gibt es +36% mehr reale FP32-Rechenleistung sowie +36% mehr reale FP32/INT32-Rechenleistung pro Shader-Cluster – dies ist sogar nahe der realen FP32-Steigerung von Turing zu Ampere (+47%). Dieser Effekt kommt dann noch auf jegliche Steigerung der Anzahl der Recheneinheiten sowie alle Taktraten-Verbesserungen der Ada-Chips oben drauf. Wenn man den GA102-Chip mit 40 TFlops bei der GeForce RTX 3090 Ti angibt und den AD102-Chip mit 100 TFlops bei der GeForce RTX 4090 annimmt, so kommt bei dieser Angabe der nominellen Rechenleistung bereits ein Sprung auf das 2,5fache heraus. Eingerechnet des vorgenanten Effekts der höheren realen FP32-Rechenleistung pro Shader-Cluster läge die praktisch nutzbare FP32-Rechenleistung zwischen GA102 und AD102 aber eher bei (grob) dem 3,4fachen.

Passend dazu erhöht sich die Anzahl der ROPs pro GPC wohl auf das Doppelte. Der AD102-Chip soll somit gleich 384 ROPs tragen – interessanterweise ebenfalls das 3,4fache des GA102-Chip. Zwar wurde wie bekannt das Speicherinterface nicht verbreitert (weiterhin 384 Bit GDDR6X), aber nVidia folgt in dieser Frage dann dem AMD-Ansatz bei der RDNA2-Architektur und verbaut 96 MB Level2-Cache – welcher denselben Zweck wie AMDs "Infinity Cache" (des Abfangens von Speicherzugriffen) hat. In der Summe betrachtet zeigt sich der ganze Ansatz der "Ada"-Architektur somit nochmals kräftiger: Es geht hierbei nicht nur um satt mehr Hardware-Einheiten und einen gehörigen Taktratensprung – sondern auch die Rechenkraft pro Shader-Cluster wird augenscheinlich deutlich nach oben gezogen. Natürlich müssen sich gerade diese AD102-Interna noch bestätigen, im Gegensatz zu den Grunddaten des AD102-Chips kann man dies noch nicht als belastbare Informationen betrachten.