News AMD CDNA 2 Whitepaper: Mehr Details zum Compute-Monster Instinct MI200

Colindo

Redakteur
Teammitglied
Registriert
Dez. 2015
Beiträge
2.872
  • Gefällt mir
Reaktionen: s0UL1, jemandanders, KarlsruheArgus und 19 andere
Das schmeckt!

Brachiale, leider sieht das OS die zwei Chips nicht als einzelne GPU sondern wirklich noch als 2 GPU´s.

Kann man hier noch von einer GPU sprechen oder Beschleuniger Xy?
 
  • Gefällt mir
Reaktionen: SVΞN und Nitschi66
Ist nicht mein Gebiet, verstehe auch wenig davon, aber die Zahlen lesen sich mal richtig gut. :D

Wo steckt man dieses Würfelformat (OAM) drauf?
 
Mir sind zwei Artikelfehler aufgefallen:
AMD CDNA1AMD CDNA2Nvidia TuringNvidia Ampere
Datenformat1. Gen Matrix Core2. Gen Matrix Core1. Gen Tensor Core3. Gen Tensor Core
Matrix FP64 (FLOPS)N/A64N/AN/A
Matrix FP32 (FLOPS)6464N/A256
Matrix TF32 (FLOPS)N/AN/AN/A256
Matrix FP16 (FLOPS)256256128512
Matrix BF16 (FLOPS)128256N/A512
Matrix INT8 (OPS)128256N/A1024

Der INT8-Durchsatz ist bei CDNA2 nicht schneller geworden, bei CDNA1 lag dieser ebenso bei 256 ops pro Matrix-Core bzw. 1024 ops pro Compute Unit mit vier Matrix Cores.
Bei CDNA1 war nur BF16 half-rate im Vergleich zum FP16-Durchsatz.
Bezüglich Nvidia spricht der Text richtigerweise V100 an (Volta), in der Tabelle wurde aber Turing/Ampere niedergeschrieben.

In den Bezug auf den Durchsatz hat die Tabelle davor die richtigen Zahlen verwendet:
DatenformatMI100MI250X*A100
Standard-ALUs
Vector FP64 (TFLOPS)11,547,99,7
Vector FP32 (TFLOPS)23,147,919,5
Vector FP32 RPM (TFLOPS)N/A95,7N/A
Matrix-Einheiten
Matrix FP64 (TFLOPS)N/A95,7N/A
Matrix FP32 (TFLOPS)46,195,7156
Matrix FP16 (TFLOPS)184,6383312
Matrix BF16 (TFLOPS)92,3383312
Matrix INT8 (TOPS)184,6383624
 
Zuletzt bearbeitet: (Weiteren Fehler ergänzt.)
  • Gefällt mir
Reaktionen: Skysnake
|Moppel| schrieb:
Wo steckt man dieses Würfelformat (OAM) drauf?
Gibt entsprechend dafür angepasste Plattformen. Das Stichwort hier ist OCP (Open Compute Project), die diesen Formfaktor standardisiert haben.
 
  • Gefällt mir
Reaktionen: |Moppel|
In einigen Bereichen geht es derzeit gut ab muss man sagen. Die Zahlen lesen sich ganz nett.

Wo es bei mir aber gerade hängt: Eine FP64 Einheit kann doch gleichzeitig zwei Operationen mit FP32 ausführen. Ist es hier nicht irgendwie verschenkte Leistung nicht auf 2:1 zu gehen?

Gerade wenn AMD mehr in Richtung KI vorstoßen möchte sind FP16 bis INT8 alles andere als unwichtig.
 
  • Gefällt mir
Reaktionen: NMA
Das schmeckt!
konkretor schrieb:
Brachiale, leider sieht das OS die zwei Chips nicht als einzelne GPU sondern wirklich noch als 2 GPU´s.

Kann man hier noch von einer GPU sprechen oder Beschleuniger Xy?
Wie kommst du darauf? Mal davon ab das das keine GPU mehr im eigentlichen Sinne ist - weil ein Bild rendern ist hier nicht mehr...
 
Das lässt die miner Herzen höher schlage. Wen. Sie es sich leisten können 😜.
 
@Colindo Weißt Du, was die Matrix cores bei AMD genau beschleunigen? Nvidias Tensor cores beschleunigen ja AxB+C für drei 4x4 Matrizen A,B,C mit Einträgen in unterschiedlichen Datentypen.

Nebenbei: Weißt Du vielleicht, woher das "4x4" kommt? Hat das was mit der weiten Verbreitung von SSE zu tun oder sowas?

Und noch eine Frage zum Artikel: Atomare Operationen für FP64? Dachte, sowas gibt es nur für Integer-Datentypen?
 
Rage schrieb:
@Colindo Weißt Du, was die Matrix cores bei AMD genau beschleunigen? Nvidias Tensor cores beschleunigen ja AxB+C für drei 4x4 Matrizen A,B,C mit Einträgen in unterschiedlichen Datentypen.

Und noch eine Frage zum Artikel: Atomare Operationen für FP64? Dachte, sowas gibt es nur für Integer-Datentypen?
Ich kann aus dem verlinkten Whitepaper zitieren:
AMD CNDA 2 introduces a set of matrix multiplication instructions specifically for FP64 precision with a simplified microarchitecture. New instructions realize block-based matrix multiplication for the fixed matrix blocks sizes of 16x16x4 and 4x4x4 (MxNxK) and are wave-wide operations where input and output matrix block data are distributed over a wavefront’s lanes.
Was atomare Operationen angeht: Auf einer CPU wären die sicher als INT ausgeführt, aber eine Grafikkarte hat ja FP als nativen Datentyp. Theoretisch sollte es solche Operationen sowieso für alle Datentypen geben.
 
So. Jetzt 2 64 Kerner und 8 MI250X in ein System packen und mit 8TB RAM und 1TB VRAM loslegen :D

Sehr cooler Einblick in die Technik wie üblich. Top Artikel! FP64/32 mit 1:1 ist natürlich unangefochten in der Technik aktuell. Wer Davon profitiert kann hier richtig nach vorne gehen.

Zum Vergleich
Meine kleine pro GPU hat den 1:2 Teiler bei dieser Angelegenheit was sie bei FP64 bei 35W auf immerhin 675 GFLOPs beschleunigt. Dürfte immernoch mehr sein als so manche signifikant stärkere gaming GPU.

FP64 wird halt an anderer Stelle benötigt. In der naturwissenschaft sind 32 Bit für eine gleitkommazahl sehr wenig um sie ausreichend genau darzustellen, da es zum Beispiel zu steifen Differentialgleichungen kommen kann welche bei einer Abweichung von einem Parameter um auch nur den geringsten Betrag ihr Endergebnis komplett anders Erscheinen lässt. Da kann man es sich nicht erlauben die Werte numerisch zu Runden, auch nicht auf 25 Stellen genau oder mehr. Die Zahl muss 100% exakt sein. Daher FP64 Oder gar virtuelles FP128, hier weiß ich aber nicht ob die FP units das auch können mit entsprechendem code für jeweils zwei Register. @Colindo vielleicht weißt du hier mehr^^

ähnlich auch bei Komplexen zahlen, Strahlungsmodellen, Netzwerkanalyse usw. Alles hoch komplexe zahlen der form Z=re^iPHI = r(COS(PHI)+i sin(PHI)) die man übrigens auch in der Wellengleichung wiederfindet.
Ergänzung ()

Rodelina schrieb:
Irgendwelche industriellen oder wissenschaftlichen Anwendungen interessieren mich hier nicht.
Da bist du hier leider falsch. Und was für den Hausgebrauch reichen soll darf jeder selbst entscheiden :)
 
Zuletzt bearbeitet:
  • Gefällt mir
Reaktionen: Ryoukou, CableGuy82, Moerf und 5 andere
@Locuza Irgendwo bei INT8 habe ich noch einen Rechenfehler. Wenn die Leistung pro Matrix-Core gleich ist, aber es doppelt so viele Cores gibt, warum ist die Rechenleistung jetzt viermal so groß? Irgendwie passt das nicht zusammen.
Ergänzung ()

@PS828 FP128 wird im Whitepaper nirgendwo erwähnt.
 
  • Gefällt mir
Reaktionen: PS828
  • Gefällt mir
Reaktionen: Colindo
@Colindo sowas ist bisher auch einfach CPU Gebiet und wird für sehr große zahlen benutzt die anders nicht in einer sinnvollen Numerik berechnet werden können. Mal sehen ob man in dem Zusammenhang hier noch was mitbekommt davon. Dieses FP64 Register bietet sich ja schon dafür an das Problem zu Teilen bzw die Zahl auf zwei Register aufzuteilen
 
  • Gefällt mir
Reaktionen: Colindo
Und die Aktie steigt und steigt und steigt. Tolle News.
 
  • Gefällt mir
Reaktionen: BacShea, scout1337, Vitec und eine weitere Person
Zurück
Oben