581x
004007
26. September 2023

Parallelisierung

Parallelisierung in FEM-Software (Finite-Elemente-Methode) bezieht sich auf den Prozess der Aufteilung und Verteilung von Rechenaufgaben auf mehrere Prozessoren oder Kerne, um die Analyse und Simulation komplexer Ingenieurprobleme zu beschleunigen. Das parallele Rechnen ermöglicht der Software, größere und kompliziertere Simulationen zu bewältigen, indem die Leistung moderner Mehrkern-CPUs und sogar vernetzter Rechencluster genutzt wird.

Hier sind einige Schlüsselaspekte der Parallelisierung in FEM-Software:

Domänenzerlegung: Ein gängiger Ansatz der Parallelisierung beinhaltet die Aufteilung des Simulationsbereichs in kleinere Teilbereiche. Jeder Teilbereich wird dann einem anderen Prozessor oder Kern zugewiesen, und Berechnungen werden parallel auf diesen separaten Teilen durchgeführt. Sobald die lokalen Berechnungen abgeschlossen sind, werden die Ergebnisse kombiniert, um die Gesamtlösung zu erhalten.

Diese Technologie wird in RFEM 6 und RSTAB 9 für die parallele Berechnung von Lastfällen und Lastkombinationen verwendet. Eine Solver-Instanz wird für jeden Kern gestartet, die dann Lastfälle oder Lastkombinationen nacheinander berechnet.

Multithreading und Multiprocessing: FEM-Software kann Multithreading- und Multiprocessing-Techniken verwenden, um Berechnungen zu parallelisieren. Multithreading beinhaltet die Aufteilung eines einzelnen Programms in kleinere Threads, die parallel ausgeführt werden können. Multiprocessing bedeutet, dass mehrere unabhängige Prozesse oder Aufgaben gleichzeitig ausgeführt werden.

Beide Techniken werden in RFEM 6 verwendet.

Mehrere unabhängige Solver-Prozesse werden für die parallele Berechnung von Lastfällen und Lastkombinationen gestartet. Dies ist die Technik des Multiprocessing.

Wenn der direkte Solver für die individuelle Berechnung eines Lastfalls oder einer Lastkombination verwendet wird, wird die Arbeitslast in mehrere Threads aufgeteilt, um das Gleichungssystem zu lösen.

Skalierbarkeit: Skalierbarkeit bezieht sich darauf, wie gut FEM-Software eine zunehmende Anzahl von Prozessoren oder Kernen handhaben kann. Eine gut konzipierte parallele FEM-Software sollte eine gute Skalierbarkeit aufweisen, was bedeutet, dass der Leistungszuwachs signifikant ist und sich die Simulationszeit verringert, wenn mehr Prozessoren hinzugefügt werden.

Parallele Bibliotheken und APIs: Viele FEM-Softwarepakete nutzen parallele Programmierbibliotheken und APIs (Application Programming Interfaces), um die Parallelisierung effektiv umzusetzen. Beispiele sind OpenMP, CUDA (für GPU-Parallelisierung) und andere.

OpenMP wird in RFEM 6 für die Implementierung von Multithreading verwendet.

CUDA wird in RFEM 6 nicht verwendet. Die Berechnung kann daher nicht auf Grafikkarten oder ähnlichen Rechenbeschleunigern durchgeführt werden.

Solver-Parallelisierung: In FEM-Simulationen ist die Lösung linearer Gleichungssysteme eine häufige Engstelle. Fortschrittliche Solver können parallelisiert werden, um die Lösungsgeschwindigkeit zu verbessern.

Preprocessing und Postprocessing: Während der Schwerpunkt auf der Parallelisierung der Solver-Phase liegt, kann die Parallelisierung auch auf andere Aspekte der FEM-Analyse angewendet werden, einschließlich Preprocessing-Aufgaben (Netzgenerierung, Modellerstellung) und Postprocessing (Visualisierung, Datenanalyse).

Beim Preprocessing und Postprocessing wird in RFEM 6 und RSTAB 9 die Parallelisierung durch Multithreading genutzt.

Eine effektive Parallelisierung in FEM-Software kann die Simulationszeiten erheblich reduzieren, sodass Ingenieure und Forscher größere und komplexere Probleme effizient analysieren können.

Übergeordnetes Kapitel