Sechs Monate im Großrechner: So emuliert Nvidia 8 Milliarden Transistoren
Vor der physischen Herstellung eines Chips wird dieser in einem Großrechner emuliert. Bei diesem mehrere Monate dauernden Schritt finden und beseitigen die Chipdesigner Bugs, die beim fertigen Produkt katastrophale Folgen haben könnten. PC Games Hardware war vor Ort in Nvidias Hauptquartier.
Am Vortag der GPU Technology Conference in San Jose gab uns Nvidia eine Tour durchs Firmenhauptquartier. Dabei besuchten wir unter anderem das Simulation Lab. Dessen Director Narenda Konda erläuterte uns, was die gewaltigen Großrechner Tag und Nacht machen, die dort mit großem Getöse arbeiteten. Mit den teilweise in Clustern von bis zu 16 Einheiten zusammengefassten Computern des Herstellers Cadence Design Systems emuliert Nvidia einen kompletten Chip - jeder einzelne Transistor wird softwaremäßig abgebildet. Bei einer Titan X sind das immerhin acht Milliarden Stück. Die für einen Chip zusammengeschalteten Cadence-Rechner "enden" in zwei Kabelsträngen, die beispielsweise in eine passende PCI-Express-Karte gesteckt werden, die ihrerseits in einem PC steckt. Das Emulator-System gaukelt dem PC dann vor, dass es sich um eine waschechte Grafikkarte handelt und erlaubt Nvidias Ingenieuren, darauf alle möglichen Programme und Benchmarks laufen zu lassen.
Virtuelle Transistoren
"Die Programme, die wir auf einem emulierten Chip laufen lassen, verändern den Zustand von dessen virtuellen Transistoren", erklärt Narenda Konda. "Diese Zustandsänderungen lesen wir dann gleichzeitig aus. Das sind einige GByte an Daten, anhand derer wir vorhersagen können, wie schnell der Chip sein wird." Diese Vorhersagen sind in der Regel sehr akkurat: "Der fertige Chip weicht weniger als fünf Prozent von seiner emulierten Fassung ab." Ähnlich sieht es mit dem Energieverbrauch aus. Die Entwickler wissen, wie viel Leistung bei jedem Schaltvorgang eines Transistors benötigt wird. Anhand der ausgewerteten Emulator-Logs ermitteln sie daher, wie viele Schaltvorgänge durchgeführt werden - und wie viel Energie dafür verbraucht wird. Ihre Ergebnisse geben die Forscher auch an die Marketing- und Vertriebsabteilungen weiter, die ihren Kunden sagen können, wie schnell die nächste Chip-Generation werden wird.
Sechs Monate im Emulator
Die Emulation konzentriert sich jedoch nur auf die rechnerische Leistung eines Chips. Störeffekte, die etwa durch immer kleinere Leiterbahnen entstehen, erfassen die Cadence-Rechner nicht. "Dafür ist unser Architecture Lab zuständig, die den Chip entwerfen, bevor wir ihn im Emulator modellieren", sagt Narenda Konda. Die Emulation selbst läuft etwa 1.000 Mal schneller als eine Simulation des Chips ab - ist jedoch noch immer 1.000 Mal langsamer als das fertige Produkt. Diesen Effekt kennen alle, die schon einmal einen Konsolen-Emulator auf einem PC haben laufen lassen, dessen Grafikkarte normalerweise mit Volldampf detaillierte 3D-Welten auf den Bildschirm zaubert. Deswegen laufen die Emulatoren etwa ein halbes Jahr lang, um alle Bugs im Chip-Design ausfindig zu machen. Denn wird der Chip erst einmal in Serie produziert, ist die Beseitigung eines Hardware-Fehlers eine teure Angelegenheit.
Watt-Spektakel
Wer selbst daheim eine GPU emulieren will, sollte genügend Platz und eine dicke Brieftasche mitbringen. Jeder wassergekühlte Cadence Palladium XP emuliert zwischen 100 Millionen und einer Milliarde Transistoren. Deshalb koppelt Nvidia bis zu 16 davon zu einem Cluster zusammen, der dann Tag und Nacht läuft. Und dann wären da auch noch die Stromkosten: 50 Ampere bei 220 Volt schluckt jeder Rechner - 176.000 Watt werden beispielsweise beim Betrieb eines 16er-Clusters fällig.
Woher die plötzliche Kundennähe? Dient das dem begrenzen des Imageschadens aus der 970 Gate Affäre?
Klopf Du ruhig Deine Schenkel. Das ändert aber mal gar nichts...
Tja mit sieben Monaten im Großrechner hätte es dann auch für die Emulation von vollen 4Gb gereicht