NEWS

Erste GPU mit CDNA-Architektur

AMD stellt die Instinct MI100 vor

Portrait des Authors


AMD stellt die Instinct MI100 vor
4

Werbung

Im Rahmen der Supercomputing 2020 stellt AMD seine nächste Generation der GPU-Beschleuniger für das Datacenter vor. Die AMD Instinct MI100 ist zugleich auch der erste GPU-Beschleuniger, der auf eine GPU auf Basis der CDNA-Architektur setzt. AMD führt in den GPU-Architekturen als explizit zweigleisig: RDNA für die Radeon-Karten und CDNA für die Instinct-Karten.

Zunächst einmal verweist AMD darauf, dass man mit den EPYC-Prozessoren eine gewisse Grundlage geschaffen hat, die nun von GPU genutzt werden kann. AMD sieht die Entwicklung der GPU-Beschleuniger auch an einer Grenze dessen, was für eine typische Skalierung aktuell zu erwarten gewesen wäre und verweist dabei auch auf NVIDIAs A100. Besonders die FP64-Rechenleistung käme aktuell nicht dem nach, was in der Exascale-Entwicklung erwartet wird.

Die nun vorgestellte Instinct MI100 soll die Entwicklung in der Rechenleistung wieder auf einen Pfad bringen, der das erwartete Wachstum erreicht. Es soll sich bei der Instinct MI100 und nichts geringeres als um die schnellste HPC-GPU handelt, die aktuell verfügbar ist bzw. verfügbar sein wird. Heute stellt AMD die PCI-Express-Variante vor. Ob es auch eine OAM-Variante mit höherer Rechenleistung geben wird, lässt AMD vorerst offen.

Die auf der Instinct MI100 verbaute GPU bringt es auf 120 Compute Units und 7.680 Stream-Prozessoren. Zum Vergleich: Die Radeon RX 6900 XT auf Basis der Big-Navi-GPU und RDNA-2-Architektur kommt auf 80 Compute Units. Es bleibt offenbar dabei, dass AMD pro Compute Unit 64 Shadereinheiten vorsieht, allerdings muss man hier unterscheiden, welche Funktionseinheiten genau gemeint sind. FP64, FP32, FP16, INT32, INT16 oder was auch immer. Außerdem fehlen bei der GPU der Instinct MI100 sämtliche Rendering-Engine-Funktionen. Die Karte ist also nicht in der Lage, ein Bild oder einen Frame zu rendern.

AMD legt mit der Instinct MI100 den Fokus auf eine hohe Rechenleistung mit hoher Genauigkeit – sprich FP64 und FP32, wie es im HPC-Segment wichtig ist. Natürlich kann dies auch eine A100-GPU, allerdings sieht NVIDIA diese als General-Purpose-GPU sowohl im HPC- wie auch AI/ML-Segment. Schauen wir uns die technischen Daten im Vergleich an: 

Gegenüberstellung der Karten

AMD Instinct MI100 NVIDIA A100 PCIe
GPU - A100
Fertigung - 7 nm
Transistoren - 54 Milliarden
Chipgröße - 826 mm²
FP64-Einheiten 7.680 3.456
FP32-Einheiten 15.360 6.912
FP64-Rechenleistung 11,5 TFLOPS 9,7 TFLOPS
Peak FP64-Rechenleistung 11,5 TFLOPS 19,5 TFLOPS (Tensor Cores)
FP32-Rechenleistung 23,1 TFLOPS 19,5 TFLOPS
Peak FP32-Rechenleistung 23,1 TFLOPS 156 TFLOPS
FP16-Rechenleistung 184,6 TFLOPS 312 / 624 TOPS
Bfloat16-Rechenleistung 92,3 TFLOPS 312 / 624 TOPS
Speicher HBM2 HBM2
Speicherkapazität 32 GB 40 GB
Speicherinterface 4.096 Bit 5.120 Bit
Speicherbandbreite 1,23 TB/s 1,536 TB/s
TDP 300 W 250 W
PCIe 4.0 4.0
Interconnect Infinity Fabric 3x 267 GB/s NVLink 600 GB/s

In der Anzahl der Recheneinheiten und der dazugehörigen Rechenleistung gibt es einige Dinge zu beachten. So spielt der Aufbau der Architektur eine Rolle und nur die Anzahl der Einheiten erlaubt noch keine Rückschlüsse auf die Leistung. Hier kommt noch hinzu, dass NVIDIA die eigenen Tensor Cores dazu verwendet, um die Rechenleistung in den Bereichen weiter zu steigern. Wenn man sich die Rechenleistung als solches anschaut sollte man die Werte für FP64 und FP32 im Auge behalten. Die AMD Instinct MI100 bietet 11,5 TFLOPS zu 9,7 TFLOPS der A100. Bei der FP32-Rechenleistung zeigt sich mit 23,1 zu 19,5 TFLOPS ein ähnliches Verhältnis.

Den 32 GB HBM2 mit einer Speicherbandbreite von 1,23 TB/s bei der Instinct MI100 stehen 40 GB mit 1,536 GB/s der A100 gegenüber. NVIDIA hat hier also einen kleinen Vorteil in der Speicheranbindung. Die Instinct MI100 kommt mit einer Thermal Design Power von 300 W daher, die A100 PCIe mit 250 W. Die Anbindung erfolgt jeweils per PCI-Express 4.0.

Die Instinct MI100 ist eine typische PCI-Express-Erweiterungskarte mit einer Höhe von zwei Slots. Die Kühlung erfolgt passiv bzw. über den im Server vorhandenen Luftstrom. Die beiden zusätzlichen Stromanschlüsse befinden sich am hinteren Ende der Karte. Hier befindet sich auch die Öffnung, durch die der Luftstrom geführt wird. Das Gehäuse des Kühlers besteht aus schwarzem, gebürsteten Aluminium.

Bis zu vier Karten können zusammen betrieben werden. Dazu stehen jeder GPU vier Infinity-Fabric-Links mit jeweils 267 GB/s zur Verfügung. Wie auf den Bildern zu erkennen ist, wird die Bridge fest auf den Karten verschraubt. Ohne Backplate ist zu erkennen, dass AMD offenbar neben einer Variante mit zwei 8-Pin-Anschlüssen zumindest auf dem PCB auch drei Anschlüsse vorgesehen hat. Ob wir eine solche Variante noch sehen werden, bleibt abzuwarten.

Natürlich sieht AMD die Instinct MI100 in Server im Zusammenspiel mit den EPYC-Prozessoren, denn diese bieten bereits PCI-Express 4.0, was auf Seiten der Intel-Prozessoren aktuell noch nicht der Fall ist. Hier wird man auf die Ice-Lake-Modelle warten müssen, die allerdings erst im ersten Quartal 2021 erscheinen werden.

OEMs und ODMs werden erste Systeme mit der Instinect MI100 ab Ende des Jahres im Angebot haben. Der Preis einer solchen Karte ist nicht bekannt.

Wenig zur GPU bekannt

Bisher ist noch recht wenig zur GPU bekannt. AMD hat zwar ein Whitepaper veröffentlicht, dieses geht aber noch nicht so in die Tiefe, wie wir dies für die RDNA- und GeForce-Architekturen von AMD und NVIDIA kennen. Wie kennen die Anzahl der Compute Units (120), die der Stream Prozessoren (7.680) und die dazugehörige Rechenleistung. Keine Angaben hat AMD zur Chipgröße und zu der Anzahl der Transistoren gemacht. Die Fertigung findet in 7 nm statt. Uns liegt ein Foto der GPU, welches wir aus Quellschutzgründen aber nicht veröffentlichen können. Demnach beträgt die Größe des Chips in etwa 730 mm².

Wohl wichtigster und entscheidender Punkt ist, dass die eigentlichen Recheneinheiten in der CDNA-Architektur nicht mehr aus den klassischen Stream Prozessoren bestehen, sondern AMD hier eine sogenannte Matrix Core Technology einsetzt, die auf Anwendungen im Serversegment ausgelegt ist.

Zwischen zwei Bereichen an jeweils 4 MB L2-Cache (die Instinct MI50 auf Basis der Vega-20-GPU kommt auf insgesamt 4 MB), sitzen die vier Asynchronous Compute Engines (ACE), die dafür verantwortlich sind, dass die Compute-Aufgaben auf die einzelnen Recheneinheiten verteile werden. Die Compute Units wurden um eine Matrix Core Engine ergänzt, um die unterschiedlichen Datenformate verarbeiten zu können. Der L2-Cache besteht aus 32 Slices zu jeweils 256 kB. Aus jedem Slice können 128 Byte pro Taktzyklus an in die Compute Units geliefert werden, was einer aggregierten Bandbreite von 6 TB/s entspricht.

Eine Ebene höher in der Speicherhierarchie befindet sich das 4.096 Bit breite Speicherinterface, welches per HBM2 auf eine Speicherbandbreite von 1,23 TB/s kommt. Insgesamt bietet die Instinct MI100 32 GB an Speicherkapazität.

Alle Komponenten, die in einer GPU für das die Render-Pipeline bzw. Ausgabe des Renderings verantwortlich sind, wurden entfernt. Dazu gehören die Rasterization, Tessellation, Graphics Caches, Blending und die Display Engine. Einzig die Fixed Function Hardware für das De- und Encoding von HEVC, H.264 und VP9 bleibt erhalten.

Die eigentlichen CUs sind Derivate der vorherigen GCN-Architektur. Sie können Wavefronts mit bis zu 64 Working Units ausführen. Jede CU verfügt über einen Scalar Register File, eine Scalar Execution Unit und einen Scalar Data Cache um die Instruktionen verarbeiten zu können, die über die 64 Working Units verteilt werden. Hinzu kommen ein großes Vector Register File, vier Vector Execution Units die für FP32 optimiert sind und ein Vector Data Cache. Die Vektor-Pipeline ist 16-Instruktionen breit, so dass die 64 Worker Units vier Vektor-Instruktionen pro Taktzyklus verarbeiten können.

Die Matrix Core Engines sind die flexiblen Recheneinheiten und können eine neue Art an Wavefront-Instruktionen verarbeiten, die als Matrix Fused Multiply-Add oder MFMA zusammengefasst werden. Dazu gehören 4-Bit Integer (INT4), 8 Bit Integer (INT8), 16-Bit Fließkomma mit halber Genauigkeit (FP16), 16-bit BFloat16 (bf16) und 32-bit Fließkomma mit einfacher Genauigkeit (FP32).

Gegenüberstellung der Rechenleistung

Instinct MI100 Instinct MI50
Matrix FP16 184,6 TFLOPS 26,5 TFLOPS
Matrix Bfloat16 92,3 TFLOPS -
Matrix FP32 46,1 TFLOPS 13,3 TFLOPS
Vektor FP32 23,1 TFLOPS 13,3 TFLOPS
Vektor FP64 11,5 TFLOPS 6,6 TFLOPS

Im Vergleich zur Instinct MI50 will AMD die Rechenleistung also vor allem für FP32 und FP16 dramatisch gesteigert haben, während es für die höheren Genauigkeiten ebenfalls deutlich nach oben geht, aber nicht ganz in dem Maße. Wie unter der obigen Tabelle erwähnt muss man sich hier aber genau anschauen, wann und wo spezielle Hardware zum Einsatz kommt – vor allem wenn man die GPU-Leistung von AMD und NVIDIA miteinander vergleicht.

AMD hat eine Reihe von Renderings veröffentlicht, welche die MI100-GPU zeigen. Diese zeigt sich zweigeteilt aufgebaut, ähnlich der Navi- und Big-Navi-GPUs. In der oberen und unteren Hälfte sind die jeweils 3.840 Stream Prozessoren an der gleichmäßigen Struktur zu erkennen. In der Mitte befinden sich die Uncore-Komponenten, die Asynchronous Compute Engines (ACE), welche die Rechenaufgaben auf die CUs verteilen. Bei den vier rechteckigen Strukturen am Rande handelt es sich um die PHYs (physikalischen Interfaces) für die vier HBM2-Speicherchips, die als graue Kästen angedeutet werden.