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).

HySCALA sondiert neue Anwendungsfelder und Märkte für GaspiLS

GaspiLS hat sich bereits in mehreren Industrieprojekten bewährt. Seine weitere Vermarktung wird gegenwärtig im Zuge des EU-Projektes HySCALA (Hybrid SCAlable sparse matrix Linear Algebra for industrial applications) gefördert. Ziel hierbei ist es, verschiedene potenzielle neue Marktsegmente und Anwendungsfelder für GaspiLS zu analysieren und die spezifischen Anforderungen an eine kompetitive lineare Löserbibliothek zu identifizieren. Gesucht werden vor allem generische, aber dennoch effiziente Vorkonditionierer, die es erlauben, die Anzahl der benötigten Iterationen bis zur Konvergenz des iterativen Verfahrens zu reduzieren und damit die Gesamtlaufzeit für die Lösung zu minimieren. Momentan steht die skalierbare Implementierung solcher effizienten Vorkonditionierer, die auf eine breite Klasse an Problemen angewandt werden können, im Fokus.

 

GaspiCxx für mehr Produktivität

Innerhalb von GaspiLS wurde die Implementierung für die explizite Verwaltung von Kommunikations-Resourcen für den GPI-2-Datenaustausch abstrahiert und mit GaspiCxx auch für andere Anwendungen zur Verfügung gestellt. GaspiCxx definiert eine einfach zu nutzende C++- Schnittstelle. Die Verwaltung von GPI-2-Kommunikations-Ressourcen wird hierbei ohne Einschränkung der zugrundeliegenden Leistungsfähigkeit komplett von GaspiCxx übernommen. Die Anwendung muss sich nicht mehr darum kümmern. Damit fällt ein Großteil der normalerweise notwendigen Implementierungsarbeiten bei der Entwicklung von GPI-2-Applikationen weg. Die Entwicklung von GPI-2-Applikationen und das Ausnutzen der damit einhergehenden Vorteile – wie die gute Skalierbarkeit – war noch nie so einfach.