Doppeltes Spiel

:K Cad Cam Hardware

GPU-Computing – Render- und Berechnungszeiten sind immer ein Ärgernis – es kann nie schnell genug gehen. Nvidia ermöglicht mit der Maximus-Treibertechnologie nun, eine Quadro- und eine Tesla-Karte parallel zu betreiben. von Ralf Steck

28. Juni 2012

Mit der Tesla-Kartenserie hat Grafikkartenhersteller Nvidia vor einigen Jahren eine Baureihe von Zusatzkarten auf den Markt gebracht, mit denen sich die hohe Rechenperformance moderner Grafikprozessoren nutzen lassen. Diese werden auch GPU (Graphic Processor Unit) genannt und enthalten im Fall der aktuellen Karte Tesla 2075, die auf dem Kepler-GPU-Design basiert, 448 parallel arbeitende Rechenkerne.

Diese sind auf den Grafikkarten dazu gedacht, Bildberechnungen durchzuführen, so muss beispielsweise aus einem 3D-Modell und der virtuellen Kameraposition die Sichtbarkeit der einzelnen Geometrien im 2D-Bild berechnet werden, ebenso Schattenwurf und Beleuchtung. Diese Berechnungen lassen sich sehr gut parallelisieren, ein Rechenkern bearbeitet einen einzelnen oder eine kleine Gruppe von Pixeln.

So lässt sich der Unterschied zwischen CPU und GPU definieren: Eine CPU hat wenige Rechenkerne – aktuell meist vier – die jedoch sehr leistungsstark, universell einsetzbar und mit großen Cachespeichern sind. GPUs besitzen hunderte kleiner, spezialisierter Recheneinheiten mit kleinen Caches. Damit eignen sich CPUs für große, eher monolithische Programme wie ein CAD-System, während GPUs bei Aufgaben mit vielen gut trennbaren Rechenaufgaben sehr hohe Leistungen erreichen. Und diese Aufgaben finden sich unter anderem bei FEM-Simulationen oder im Rendering. So kam Nvidia auf die Idee, mit den Tesla-Karten – einfach gesagt Grafikkarten ohne Monitoranschluss – und der Programmierarchitektur CUDA, die die Nutzung der GPU erschließt, ein Paket zu schnüren, das teils extreme Zeitersparnisse brachte.

Tesla und Quadro gemeinsam

Bisher arbeitete die Tesla-Karte in einem Rechner unabhängig von der Grafikkarte, die Applikation musste also gezielt den CUDA-Treiber der Tesla-Karte ansprechen. Mit Maximus steht nun ein Treiber zur Verfügung, der beide Karten verwaltet und die Ressourcen optimal verteilt. So wird sichergestellt, dass die Simulation auf der Tesla-Karte läuft, während parallel dazu der Anwender mit der Quadro-Karte im CAD-System die entsprechende Grafikpower nutzen kann.

Denkt man an den typischen Ablauf einer Konstruktion oder der Visualisierung eines Produkts, so hat das Maximus-Gespann das Potential, einen großen Einfluss auf die Produktivität zu haben. Meist läuft der Prozess in Iterationsschleifen – man konstruiert etwas und berechnet es, optimiert und berechnet wieder, und so weiter. Mit der massiven Reduktion der Berechnungszeiten fällt die Wartezeit auf Ergebnisse nahezu weg, so dass die Iterationen schneller durchlaufen oder mehr Optimierungsschritte durchgeführt werden können.

Auch bei Visualisierungen ist ein iterativer Ablauf üblich - man muss immer wieder Renderings machen, um Bildkomposition, Beleuchtung oder Schattenwurf zu kontrollieren. Zwar ist es oft möglich, Renderings in grober Qualität zur Zwischenkontrolle anzufertigen, um Zeit zu sparen, aber gerade wenn es um die berühmten letzten Feinheiten geht, führt kein Weg an hochauflösenden Renderings vorbei - mit dem entsprechenden Zeitaufwand.

Im Filmprojekt für Effizienz gesorgt

Ein gutes Beispiel für die Vorteile der Maximus-Technologie ist ein Film, den das Advanced Design Center California von Mercedes Benz für einen Designwettbewerb der LA Auto Show in Los Angeles produzierte. In dem Film wird ein sehr futuristisches Concept Car präsentiert, der Silver Arrow, der mit der Hilfe zweier Crashtest-Dummies seinem Schicksal, dem Crashtest, entgeht. Das kalifornische Designstudio hatte schon mehrmals an dem Wettbewerb teilgenommen. Die sehr ambitionierten und detaillierten Entwürfe mussten bisher immer stark vereinfacht werden, weil die Renderzeiten für Film und Standbilder ansonsten den Zeitplan bis zur Abgabe des Wettbewerbsbeitrags überschritten hätten.

»Dieses Jahr war das ganz anders«, sagt Alan Berrington, der für die Animationen verantwortliche Designer, »die Maximus-Systeme ermöglichten uns das Testen verschiedener Alternativen, was sich in der Qualität des aktuellen Beitrags sichtbar niederschlägt.« Das fotorealistische Rendern eines Bildes des Konzeptautos dauerte etwa einen Tag, das Rendern eines Einzelbildes des Videos etwa zehn Minuten. In dieser Zeit war der Rechner komplett blockiert, so dass die Designer nicht weiterarbeiten konnten. Das Verlegen der Renderings in die Nacht war kein Ausweg, da das Rendern länger dauerte als die Zeit zwischen Arbeitsende und -beginn.

Die Lösung brachten zwei HP Z800-Systeme mit je einer Nvidia Quadro 6000 und einer Tesla C2075, die von einem Maximus Treiber verwaltet werden. Die Designer nutzen die Softwarepakete Autodesk 3ds Max, Bunkspeeds Move/Drive mit dem Renderer iray von Nvidia sowie Maya, Alias, Photoshop, und Adobe After Effects.

Maximus ermöglicht es, im Hintergrund auf der Tesla-Karte eine Szene zu rendern und parallel dazu im Vordergrund an der nächsten Szene zu arbeiten. Die Renderzeiten verkürzen sich nicht nur massiv durch die Rechenpower der Tesla-Karte, sondern werden komplett in den Hintergrund verlagert. So kann die kreative Arbeit weitergehen, während parallel dazu gerendert wird. Barrington sagt: »Wir können dank der Möglichkeiten zur Parallelverarbeitung der Maximus-Technologie zehnmal kreativer sein und in der selben Zeit weitaus mehr Alternativen ausprobieren.«

Neue Effekte lassen sich nutzen

Barrington verweist auf eine Szene am Beginn des Videos, in der das Konzeptauto aus einem Tor heraus- und in einen Sonnenstrahl hineinfährt. Die aufwendigen Lichtberechnungen, die für diesen Effekt notwendig waren, wären nach Aussage des Designers ohne die Maximus-Workstations niemals rechtzeitig zu machen gewesen.

Das Elegante an der Maximus-Technologie ist, dass der Treiber die Zuordnung der Berechnungen zu Quadro- oder Tesla-Karte selbsttätig verwaltet. Der Anwender startet ein Rendering, das automatisch der Tesla-Karte übergeben wird, und kann dann mit seiner Arbeit fortfahren, ohne Geschwindigkeitseinbußen der Quadro-Karte zu spüren. Dass diese komplexe Technologie mit zwei hochspezialisierten Karten und der entsprechenden Treibersoftware ein entsprechendes Umfeld im Rechnergehäuse benötigt, dürfte selbstverständlich sein – Maximus ist weniger eine Lösung zum Selbsteinbau in einen beliebigen Rechner, sondern es empfiehlt sich, eines der von Nvidia zertifizierten und empfohlenen Komplettsysteme zu wählen. Solche Systeme bieten unter anderem HP, Dell, Lenovo und Boxx an.

NVIDIA MAXIMUS

- Maximus besteht aus drei Komponenten: Einer Grafikkarte der Quadro-Serie, einer Tesla-Karte und dem Maximus-Treiber.

- Nvidia empfiehlt, Maximus nicht selbst in einem Rechner zusammenzubauen, sondern auf ein vorkonfiguriertes System der Partnerhersteller zurückzugreifen, unter anderem aufgrund der nicht unerheblichen Anforderungen an Stromversorgung und Kühlung beim Einsatz von zwei solchen High-End-Karten in einem Rechner

- Das im Text erwähnte Video ist in YouTube im Kanal »losangelesautoshow« zu finden.

www.nvidia.de

Erschienen in Ausgabe: 05/2012