Industriekommunikation
Echtzeit-Simulation auf dem Desktop-PC
„Seit kurzer Zeit trägt unsere Abteilung den Namen ‚Interaktive Engineering Technologien‘ – unser Augenmerk liegt vor allem auf interaktiven Lösungen“, berichtet Prof. André Stork vom Fraunhofer-Institut für Graphische Datenverarbeitung (Fraunhofer-IGD). „Wir konzentrieren uns beispielsweise nicht auf die klassische Simulation sondern vielmehr darauf, wie man diese beschleunigen kann, um interaktive Tendenzanalysen zu fahren.“ Die Darmstädter zielen damit auf den Einsatz in den frühen Phasen der Produktentwicklung. Je früher und je umfangreicher sich die Simulationsmöglichkeiten nutzen lassen, desto mehr Entwurfsvarianten können die Ingenieure bewerten – was letztlich zur Entwicklung eines optimierten Produkts führt.
Ein interessantes Beispiel ist die interaktive 2D-Strömungssimulation. Mit wenigen Mausklicks kann der Anwender hierbei ein Profil definieren und die Rechnung starten. Der Trick dabei: Das Profil lässt sich beliebig oft modifizieren – und umgehend der Effekt auf die Strömung direkt erkennen. (siehe http://youtu.be/Hu7Dv45LRrw). Um solchermaßen mit einem Entwurf zu ‚spielen‘, sind zwei Aspekte von Bedeutung:
die Genauigkeit der Simulation und
die zur Verfügung stehende Rechenkapazität – sowohl hinsichtlich der Hard- als auch der Software.
„Betrachtet man die Anforderungen an die Genauigkeit, so können wir in vielen Fällen in den frühen Entwicklungsphasen mit vereinfachten Modellen arbeiten, sowohl bei der 2D- als auch der 3D-Simulation“, erläutert Stork. „Denn hier wollen wir zunächst ja nur Tendenzen erkennen, um die Varianten zu bestimmen, die anschließend detaillierter analysiert werden sollen.“ Die Echtzeit-Simulation ist also nicht gedacht etwa für die Betrachtung der Aerodynamik eines Fahrzeugs im späten Entwicklungsstadium, wenn die Simulationsergebnisse zu mehr als 95 Prozent mit den gemessenen Werten im Windkanal übereinstimmen müssen. Klar ist aber auch: Änderungen in diesem späten Stadium werden teuer – besser ist es also, Optimierungspotenziale frühzeitig zu erkennen. Dafür genügen häufig weniger komplexe Simulationen, bei denen beispielsweise die Grenzschicht noch nicht mit hoher Genauigkeit aufgelöst werden muss.
Grafikprozessoren liefern Rechenkapazität
„Hinsichtlich des zweiten Aspekts, der Frage nach der Rechenkapazität, ist in den letzten Jahren ein interessanter Wandel zu erkennen“, fährt der Fraunhofer-Forscher fort. „Vor ein paar Jahren galt die eigentliche Simulationsrechnung als Flaschenhals, die grafische Darstellung war kein Problem. Das hat sich mit dem zunehmenden Einsatz von Clustern – auch in mittelständischen Unternehmen – verändert.“ Damit seien auch die Datenvolumina explodiert, die Rechnungen immer komplexer geworden, so dass nun die Grafik zum Flaschenhals werde – trotz leistungsfähigerer Software.
„Diese reine Visualisierung konnten wir durch den Einsatz programmierbarer Grafikkarten erheblich beschleunigen“, so Stork weiter. Die so genannten GPUs (Graphics Processing Units) moderner Grafikkarten rechneten bei Aufgaben dieser Art im Schnitt fünf bis zehn Mal so schnell wie die verfügbaren CPUs. „In Kombination mit der reduzierten Komplexität bei der Echtzeit-Simulation ließ sich dieses Know-how zudem nutzen, um die eigentliche Simulation auf der Grafikkarte laufen zu lassen.“ Der Vorteil: Die GPUs eignen sich mit ihren mehreren hundert Rechenkernen insbesondere für gut parallelisierbare Berechnungen – und dazu gehören neben Darstellungsaufgaben vor allem Simulationsrechnungen.
„Zunächst haben wir uns darauf konzentriert, zu erkunden, welche Möglichkeiten eine GPU bietet“, erinnert sich der Darmstädter Forscher. „Der treibende Gedanke dabei war, dass sich entsprechend ausgestattete Rechner an fast allen Ingenieurs-Arbeitsplätzen finden – und damit zahlreiche Anwender die Echtzeit-Simulation ohne Investitionen in entsprechende Hardware nutzen können.“ Zudem biete die GPU gegenüber einem herkömmlichen Rechen-Cluster, zu dem man nur begrenzten Zugang habe, einen deutlichen Vorteil: „Kann ich beispielsweise zehn Mal mehr Produktkonfigurationen auf meiner Grafikkarte durchführen, bin ich schon einen entscheidenden Schritt weiter!“
Inzwischen sind am Fraunhofer-IGD bereits eine Reihe von Anwendungen entwickelt worden, die allein mit der Rechenkapazität einer Grafikkarte auskommen. Neben den bereits eingangs erwähnten 2D-Strömungen um Profile gehören dazu auch 3D-Strömungen um Flugkörper (beide allerdings ohne Grenzschichteffekte), bei denen einerseits die Strömung in einem bestimmten Schnitt zweidimensional angezeigt wird oder – analog zu Rauch in einem Windkanal – Stromlinien dreidimensional zu erkennen sind. Daneben bietet sich die Strukturmechanik an, vor allem im Bereich elastischer Materialien. Dazu zählen beispielsweise Dichtungen, deren Verhalten unter Last sich auf diese Weise sehr anschaulich analysieren lässt, oder Schaumstoffe. Zukünftig wird auch die Temperaturverteilung ein Thema sein, beispielsweise in Schaltschränken oder Steuerungen, um Probleme durch Überhitzung von vornherein auszuschließen. Hinzu kommt die Interaktion von flüssigen Medien mit den entsprechenden Behältern, etwa das Schwappen von Kraftstoff im Tank. Anwendungen könnten sich auch im Bereich der Medizintechnik finden, um beispielsweise das Verhalten von menschlichem Gewebe zu untersuchen.
In der Vergangenheit wurde die Größe einer Simulation im Wesentlichen durch den zur Verfügung stehenden Speicher auf der Grafikkarte begrenzt. Heute ständen maximal 6 GB RAM zur Verfügung, erläutert Stork. „Wollte man größere Probleme rechnen, müsste man also Daten zur und von der Grafikarte schaufeln – mit entsprechenden Leistungseinbußen aufgrund der geringeren Busgeschwindigkeit.“ Bei der angestrebten Echtzeit-Simulation, bei der man ja interaktiv arbeiten will, war das bislang kein gangbarer Weg.
GPU-Cluster bieten künftig zusätzliches Potenzial
Grafikkarten-Anbieter wie Nvidia arbeiten allerdings an Lösungen, GPU-Cluster zu unterstützen. Mit Version 4.0 des CUDA-Toolkits (Compute Unified Device Architecture, mit der sich die Nvidia-GPUs softwareseitig ansprechen lassen), werden beispielsweise per GPUDirect 2.0 die Peer-to-Peer-Kommunikation zwischen verschiedenen GPUs in einer Workstation ermöglicht und per Unified Virtual Adressing der Hauptspeicher des Systems und der GPU-Speicher zu einem Speicheradressraum zusammengefasst. Am Fraunhofer-IGD wird deshalb derzeit ein entsprechender GPU-Cluster aufgebaut; Darmstadt zudem ein CUDA Competence Center. Darüber hinaus arbeiten auch Fraunhofer-intern Experten daran, solche GPU-Verbünde über eine entsprechende Middleware noch effizienter zu nutzen. Noch weiter in die Zukunft gedacht, verfolgen die Fraunhofer-Forscher darüber hinaus eine Entwicklung mit großem Interesse, „die Integration von CPUs und GPUs in einem Chip“, berichtet Stork. „Das wird schnelle Transferraten mit sich bringen und kann sich positiv auf unsere Echtzeit-Simulation auswirken.“
Doch bereits die heute verfügbare Hardware lässt sich für eine Vielzahl von Problemen erfolgreich einsetzen. „Entscheidend ist letztlich immer, welche Genauigkeit wirklich erforderlich ist“, so Stork abschließend. Bislang gebe es seitens der Berechnungsingenieure die Tendenz, mit steigenden Rechenkapazitäten vor allem komplexere Modelle zu simulieren. Das mache insbesondere in frühen Entwicklungsphasen nicht immer Sinn, denn die Zahl der Freiheitsgrade lasse sich durchaus oft reduzieren, um nicht mehr Stunden auf Ergebnisse warten zu müssen. „Im Gegenzug erlaubt dies in der Kombination mit den GPUs das interaktive Arbeiten mit der Simulation!“
Michael Corban, CAD-CAM REPORT
Fraunhofer-Institut für Graphische Datenverarbeitung, Darmstadt Tel. 06151/155-0, http://www.igd.fraunhofer.de Ansprechpartner für das Thema Echtzeit-Visualisierung: Dipl.-Inform. Daniel Weber, Tel. 06151/155-202








