Performance Analyse und Tuning von UG4

Bachelorarbeit

UG4 ist ein Framework zum Lösen von gitterbasierten partiellen Differentialgleichungen, wie sie z.B. in der Biologie, den Neurowissenschaften oder der Physik auftreten. Der Fokus von UG4 liegt hierbei auf unstrukturierten hybriden Gittern für 1D, 2D und 3D Räume. UG4 ist in C++ geschrieben und befindet sich aktuell an dem Goethe Center for Scientific Computing an der Universität Frankfurt in der Entwicklung. UG4 kann auf vielen Systemen unterschiedlicher Leistung wie z.B. Laptops oder massiv-parallelen Hochleistungsrechnern eingesetzt werden.

Im Rahmen dieser Bachelorarbeit sollen UG4 mittels aktueller Performance Analyse Werkzeuge untersucht werden. Das Ziel ist hierbei die Ausarbeitung und der Test von Optimierungsansätzen auf aktuellen Mehrkern-Clustersystem, wie z.B. dem Interims-Cluster des HRZ der TU Darmstadt. Da es sich um die erste Untersuchung von UG4 unter diesem Gesichtspunkt handelt, wird der Ausarbeitungsfocus in Absprache mit dem Betreuer im Laufe der Arbeit anhand der Erkenntnisse der Performance Analyse festgelegt.

Nach aktuellem Kenntnisstand sind folgende Schwerpunkte möglich:

• Tuning der MPI-Kommunikation,

• Hybride Parallelisierung,

• Serielles Tuning und

• Optimierung der Prozess-Verteilung und Thread-Platzierung

Die Arbeit wird in Zusammenarbeit mit dem Goethe Center for Scientific Computing an der Universität Frankfurt durchgeführt.

Voraussetzungen sind Kenntnisse in

• C++ (oder die Bereitschaft sich selbständig in die C++ Programmiersprache einzuarbeiten),

• MPI,

• OpenMP sowie

• den Grundlagen aktueller Rechnerarchitekturen und paralleler Rechensysteme.

Im Rahmen dieser Arbeit werden Sie sich mit

• Performance Analyse Methodik beschäftigen und

• wahlweise

o MPI Tuning

o hybrider Parallelisierung (OpenMP+MPI),

o und die Grundlagen Linux-basierter Cluster erarbeiten

sowie

• eine Bachelorarbeit im Umfang von ca. 30-40 Seiten verfassen

Diese Arbeit kann sowohl als Bachelor als auch als Masterarbeit vergeben werden.