ARTSS
Accelerated Based Real Time Smoke Simulator
Die Bewertung der Lebenssicherheit in Gebäuden im Brandfall basiert häufig auf Berechnungen der Rauchausbreitung. Neuere Simulationsmodelle - im Allgemeinen auf der Grundlage der numerischen Strömungsmechanik (CFD) - benötigen oft lange Ausführungszeiten, selbst auf Hochleistungsrechnersystemen (HPC). In der Entwurfsphase eines Gebäudes ist die lange Ausführungszeit kein Problem.
In Anwendungsszenarien wie der Steuerung technischer Systeme oder in der Ausbildung, wo eine Vorhersage in Echtzeit erforderlich ist, können diese Modelle jedoch nicht eingesetzt werden.
Dies liegt daran, dass die Beschleunigung der Berechnungszeit durch die parallele Leistung der Recheneinheit begrenzt ist. Daher ist es sinnvoll, eine Recheneinheit zu verwenden, die auf die gleichzeitige Bearbeitung paralleler Aufgaben spezialisiert ist. In Bezug auf die Computerhardware liefert die Grafikverarbeitungseinheit (GPU) die beste parallele Leistung. Die Simulationsmodelle müssen jedoch in Bezug auf Algorithmen und Implementierung an die GPUs angepasst werden, um deren Leistung zu nutzen.
Ziel des ARTSS-Projekts ist es daher, einen Echtzeit-CFD-Löser zu entwickeln, der die parallele Leistung von GPUs nutzt.
ARTSS ist ein CFD-Code zur Simulation auftriebsgetriebener turbulenter Rauchausbreitung, der auf finiten Differenzen und einem Large-Eddy-Simulation (LES)-Turbulenzmodell basiert. Der Open-Source-Code ist auf CPU und GPU übertragbar und wurde anhand von Unit-, analytischen und semi-analytischen Tests erfolgreich verifiziert.
Derzeit wird versucht, ARTSS mit experimentellen Szenarien, die für den Brandschutz relevant sind, weiter zu validieren.

Der Code ist in der objektorientierten Programmiersprache C++ und dem pragma-basierten Programmiermodell OpenACC geschrieben. ARTSS basiert auf JuROr, das ursprünglich im Rahmen des (vom BMBF geförderten) Projekts ORPHEUS von Dr. Anne Küsters entwickelt wurde.
Speedup Analyse
Der Leistungsindikator für ARTSS sind die Zellenaktualisierungen pro Sekunde (CUPS)

Die Verwendung eines Grafikprozessors im Gegensatz zu einer Referenzarchitektur wie einem oder mehreren CPUKernen führt zu folgender Definition für den Speedup

Abbildung 2 zeigt die Leistung von JuROr in MCUPS für die verschiedenen Auflösungen im Vergleich zwischen der seriellen (in hellgrau), der Multicore- (in grau) und der GPU-parallelen Version (in schwarz) auf dem Intel Xeon Broadwell E5-2623 v4 (BDW) bzw. NVIDIA Pascal P100 (PCIe, 12 GB). Die Beschleunigung der GPU-Version wird oben auf den Balken angezeigt. Bei 2048x2048 inneren Zellen beträgt der Geschwindigkeitszuwachs bei der GPU-parallelen Version im Vergleich zur seriellen CPU-Version das 29-fache.

Zugehörige Publikationen
- Anne Severt. Real-Time Simulation and Prognosis of Smoke Propagation in Compartments Using a GPU. Dissertation, Bergische Universität Wuppertal, 2018
- My Linh Würzburger. Dynamic Domain Adaption for Smoke Simulation in JuROr. Masterarbeit, FH Aachen, 2019
- My Linh Würzburger. Untersuchung des Rot-Schwarz Gauß-Seidel-Verfahrens für Diffusionsprobleme bezüglich Parallelisierung auf einer GPU. Bachelorarbeit, FH Aachen, 2016.