GaspiLS – Skalierbarer Löser für CFD- und FEM-Simulationen

GaspiLS ist eine skalierbare lineare Löser-Bibliothek in Zeiten von Exascale-Computing und hat sich in der Industrie bewährt. Viele Simulationen im Ingenieurbereich basieren auf CFD- und FEM-Methoden, zum Beispiel die Bestimmung aerodynamischer Eigenschaften von Flugzeugen oder die Analyse der Gebäudestatik. Ein Großteil der Rechenzeit wird dabei für die Lösung der zugrundeliegenden Gleichungen durch iterative Verfahren benötigt. Die Leistung der benutzten iterativen Löser hat damit einen großen Einfluss auf die Gesamtlaufzeit solcher Simulationen. Um schneller Erkenntnisse aus den Simulationen zu gewinnen, haben wir die lineare Löser-Bibliothek GaspiLS entwickelt.

 

Industrie setzt auf GaspiLS aufgrund besserer Skalierbarkeit

Skalierbarkeit gilt bei einer Implementierung als ein Maß für die parallele Effizienz. Das Optimum ist die sogenannte lineare Skalierbarkeit. Dies entspricht der vollständigen Ausnutzung von Rechenressourcen, also den Kernen innerhalb einer oder mehrerer über ein Netzwerk miteinander verbundener CPUs. Eine verbesserte Skalierbarkeit ermöglicht mehr Rechenkapazität und das führt zur schnelleren Lösung eines Problems.

Das heißt in der Umsetzung ergeben sich folgende Vorteile:

  • detailliertere Modelle
  • genauere Parameter-Studien
  • kosteneffiziente Ausnutzung der Hardware-Ressourcen

Diese Aspekte machen GaspiLS besonders interessant für die Industrie.

Optimale Nutzung gegebener Rechenressourcen

Um gute Skalierbarkeit zu erreichen, nutzt GaspiLS die von uns entwickelten Methoden und Werkzeuge zur parallelen Programmierung. Dazu gehören die Kommunikationsbibliothek GPI-2 und deren zugrundeliegendes Programmiermodell. Der Algorithmus wird feingranular in Teilprobleme (sogenannte Tasks) mit gegenseitigen Abhängigkeiten aufgeteilt. Dies erlaubt zu jedem Zeitpunkt die Zuweisung ausführbarer Tasks auf freie Rechenressourcen und garantiert damit einen kontinuierlichen Strom an Rechenaufgaben für jede CPU.

Wir verzichten dabei auf globale Synchronisierungspunkte und können deshalb und aufgrund der großen Menge an erzeugten Teilproblemen die durch den Austausch von Daten entstehenden Latenzzeiten und Unausgewogenheiten in der Rechenzeit ausgleichen. Jeder einzelne Kern wird zu jedem Zeitpunkt maximal ausgelastet.

Berechnung der Druckkorrektur
© Fraunhofer ITWM

Berechnung der Druckkorrektur in der PISO-Methode: Mit GaspiLS (grün und blau) wurden Performanz und Skalierbarkeit entscheidend verbessert gegenüber der MPI-basierten Implementierung (orange).