GTC 2018 - Rasender Falke mit 8-fach-SLI: Wie Nvidia-Profikarten einen Disney-Ride abheben lassen
Im kommenden Jahr gehen die Besucher der Disney-Parks in Kalifornien und Florida mit dem Rasenden Falken auf eine rasante Spritztour. Für die Grafik der Attraktion sind professionelle Quadro-Grafikkarten von Nvidia verantwortlich. Auf der GTC 2018 in San Jose warfen wir einen Blick hinter die Kulissen.
Imagineers - so heißen beim Disney-Konzern die Ingenieure, die die Fantasie Wirklichkeit werden lassen. Aktuell bauen die Entwickler an Star Wars: Galaxy's Edge, einem Park im Park für Disneyland in Kalifornien beziehungsweise Disney World in Florida. Galaxy's Edge entführt Besucher auf den Planeten Batuu, einst ein quirliger Außenposten, der heute etwas heruntergekommen und von zahlreichen schrägen Vögeln bewohnt wird.
Eine der Hauptattraktionen soll der Flug mit dem Rasenden Falken werden. Und weil selbst die Imagineers kein komplettes Universum konstruieren und mal nebenbei den Überlichtantrieb erfinden können, greifen sie auf ganz irdische Dinge zurück: Die Parkbesucher nehmen in einem beweglichen Cockpit Platz. Um dieses Cockpit herum befindet sich eine Art Dom, auf dem die computergenerierte Umgebung zu sehen ist. Und die soll etwas hermachen: "Unser Ziel ist es, Kinoqualität zu erreichen", erklärt Bei Yang, Technology Studio Executive bei Walt Disney Imagineering, auf der GTC 2018 in San Jose.
Würfel statt Dom
Kinoqualität, das bedeutet: 5.400 Pixel pro 90 Grad Blickwinkel. Im Cockpit können die Besucher je 90 Grad nach oben und unten, aber gleich 180 Grad nach links und rechts blicken. "Das ist bei traditionellen Renderern ein Problem", sagt Bei Yang. "Wächst bei denen das Blickfeld, nimmt die Zahl der Pixel im Mittelpunkt des Blickfeldes ab - und das geht absolut nicht."
So griffen die Entwickler auf einen Kunstgriff zurück: Sie setzen das Cockpit des Rasenden Falken in einen Würfel, dessen Seiten sie als Cube Maps berechnen. Nach dem Rendering dieser 90-Grad-Segmente in der Unreal Engine werden sie anschließend auf den Umgebungsdom projiziert. Jede Würfelseite soll dabei eine Auflösung von 4.000 mal 4.000 Bildpunkten besitzen.
Ganz einfach, oder?
Doch was theoretisch ganz einfach klingt, hat es in sich. Die Würfelseiten lassen sich nicht unabhängig voneinander berechnen, sondern beeinflussen sich gegenseitig. Manchmal sind sogar die Kanten sichtbar, an denen die Würfelseiten aneinanderstoßen - und im Post-Processing, bei dem zahlreiche Grafikeffekte wie Bloom, Anti-Aliasing und Ambient Occlusion eingesetzt werden, müssen den Rechenroutinen die Inhalte der jeweils benachbarten Seiten bekannt sein.
Es gab jedoch auch gute Nachrichten: "Wir konnten zwei der Würfelseiten vernachlässigen", sagt Bei Yang. "Die Passagiere des Falken können nämlich weder nach hinten noch nach unten sehen. Außerdem müssen unsere vier 4K-Bilder nur mit 60 Hz gerendert werden - nicht etwa mit 90 Hz, wie es bei VR-Headsets an der Tagesordnung sind."
Bildergalerie
Vom Spielestudio ins Reich der Maus
Auftritt Eric Smolikowski. Bevor der Principal Software Developer im Reich der Maus anheuerte, war er bei Pandemic und Sonys Santa-Monica-Studio als Programmierer tätig - und brachte sein Wissen über Grafik-Engines und kinohafte Präsentationen etwa aus der God-of-War-Serie mit. Ihm war klar, dass der Falke mit dem Einsatz mehrerer GPUs abheben konnte: "Eine Grafikkarte übernimmt dabei eine Würfelseite, anschließend kopieren und transformieren wir die Ergebnisse, dann werden sie angezeigt."
Doch dabei gab es Probleme: Läuft das Post-Processing nur auf einer GPU ab, langweilen sich die anderen drei. Und nicht alle Würfelseiten sind gleich komplex, was den Inhalt angeht. Nach Experimenten mit verschiedenen Grafikkarten und Speicherzugriffstechniken bat Smolikowski Nvidia um Hilfe. Der Grafikkartenhersteller verwies auf den sogenannten Link Adapter Mode, bei dem Nvidia-Karten im SLI-Modus direkt über den PCIe-Bus aufeinander zugreifen können. "So kann eine Textur auf der ersten GPU beispielsweise von einem Shader auf der zweiten GPU eingelesen werden", sagt Eric Smolikowski.
Nvidia schreibt den Treiber um
Zur Ansteuerung der insgesamt fünf Projektoren, die die vier Würfelseiten auf den Dom projizieren, der das Cockpit umgibt, setzte das Team eine fünfte Quadro-Karte ein, um die vertikale Synchronisation der Bilder zu gewährleisten. "Und um Seekrankheit zu vermeiden", sagt Eric Smolikowski.
Um noch mehr Rechenzeit zu gewinnen, schrieben Nvidia-Programmiere spezielle Pufferfunktionen: Nun wartet der Treiber nicht mehr darauf, dass die Grafikdaten auf ihre Korrektheit überprüft werden, bevor die Puffer gerendert werden. "Das spart uns fünf bis sieben Millisekunden pro Frame", sagt Smolikowski. "Aber wir müssen von unserer Seite aus sicherstellen, dass die Daten fehlerfrei sind."
Halbe Seiten mit doppelter Kartenzahl
Um von der bisherigen 2K-Auflösung auf die gewünschten 4K zu kommen, griffen die Programmierer in die Trickkiste des Tiled Rendering: Sie unterteilten jede Würfelseite in zwei Hälften, die je von einer Grafikkarte berechnet wurden. Doch die nun insgesamt acht Karten waren nun noch mehr als zuvor mit dem Austausch von Daten beschäftigt. Ein Gespräch mit einem ILM-Kollegen brachte Eric Smolikowski auf die Idee, das auch in Heim-PCs mit SLI-Karten geläufige Alternate Frame Rendering zu probieren: Hier werden gerade Framezahlen von der einen und ungerade von der anderen Karte bereitgestellt.
Neben erneuten V-Sync-Reibereien stellten die Programmierer fest, dass sie nur die ersten vier Karten zur Ausgabe mit den Projektoren verbinden konnten: "Sonst passieren schlimme Dinge", orakelt Smolikowski. Doch nach zahlreichen Optimierungen erreichten sie die optimale Verteilung der Render-Aufgaben auf den acht Karten und wussten, welche Daten von welcher GPU auf die andere kopiert werden mussten, damit die Post-Processing-Effekte funktionierten und synchron liefen - und das in den gewünschten 4K.
Ab ins All!
Am Ende ihres Vortrags präsentieren Bei Yang und Eric Smolikowski stolz eine kurze Demo, in der der Rasende Falke in einem kavernenartigen Hangar herumschlingert und allerlei Schabernack mit dort geparkten AT-AT-Transportern veranstaltet. Ironischerweise sehen wir diese Demo als erneute Projektion: Der aus den vier Würfelseiten zusammengesetzte dreidimensionale Dom um das Cockpit wird auf eine zweidimensionale Leinwand heruntergerechnet.
Doch intern geben die acht Grafikkarten tatsächlich 64 Millionen Pixel aus, wie Bei Yang nach der Demo zeigt. Die Rechenleistung dafür ist gewaltig: Die acht Quadro-Karten stellen etwa 130 Mal so wie Rechenpower auf die Beine stellen wie eine PlayStation 4. Außerdem merkt Bei Yang an, warum die Szene im Hangar noch relativ "sauber" aussah: weil weder Spezialeffekte noch Anti-Aliasing implementiert worden sind. Dafür haben die Entwickler noch ein paar Monate Zeit - genau wie in der Spielebranche. Denn die Reise auf den Planeten Batuu findet erst im kommenden Jahr statt.


Supermicro X9QRI-F bulk Preisvergleich | Geizhals Deutschland
Zum Vergleich: UHD hat knapp 8 Megapixel, 8K immerhin 32 Megapixel. Wie schnell kann denn deine GPU doppelte 8K Auflösung rendern?
ich versuche das mal zu konvertieren.
"die acht quadrokarten stellen 130 mal soviele spieler auf ein fussballfeld, wie es eine playstation mit ihrer rechenpower berechnen könnte."
:@
Selbst wenn Disney sich mit Voltakarten eingedeckt hat passt das nicht. Denn selbst die 300W Variante der Tesla V100 bringen nur 15 TFlop/s auf die Waage. Entweder man hat hier mal wieder Äpfel mit Birnen verglichen (z.B. FP16 Leistung oder gar Tensorquatsch gezählt), oder die Zahlen sind schlicht erfunden. Ich tippe auf eine gesunde Mischung.