Inhalt
sprungmarken_marker_17023
Masterarbeit: Design und Implementierung einer API zur Auslagerung der Matrixassemblierung in OpenFOAM
Tätigkeitsbschreibung
In strömungsmechanischer Simulationssoftware wie beispielsweise OpenFOAM werden typischerweise große Gleichungssysteme durch Matrizen repräsentiert und mittels Techniken der linearen Algebra gelöst. In vielen Fällen ist allerdings die Erzeugung (Assemblierung) dieser Matrizen auf herkömmlichen CPUs sehr zeitaufwendig und kann einen signifikanten Teil der Berechnungszeit ausmachen.
Die ausgeschriebene Masterarbeit hat daher zum Ziel, zu untersuchen, wie die Matrixassemblierung auf GPUs ausgelagert werden kann und welche Performanzgewinne sich realisieren lassen.
Persönliche Qualifikation
- Du bringst Kenntnisse in Programmiersprachen, idealerweise C++ mit
- Du hast Interesse an strömungsmechanischen Simulationstechniken
- Du hast Freude an der Arbeit in einem motivierten Team.
- Selbständiges Arbeiten zeichnet dich aus
Aufgabenstellung
Die Aufgabenstellung dieser Masterarbeit ist das Design und die Implementierung einer API zur Auslagerung der Matrixassemblierung in OpenFOAM, um diese anschließend auf GPUs durchzuführen. Die Arbeit umfasst die folgenden Arbeitschritte:
- Ausarbeitung und Dokumentation des aktuellen Matrixassemblierungsprozesses in OpenFOAM
- Entwurf der API, um den Matrixassemblierungsprozesses auszulagern und mittels Ginkgo, PETSc oder ähnlicher Software auf GPUs durchzuführen
- Implementierung der API
- Durchführung von Validierungs- und Performanzstudien
- Analyse und Aufbereitung der gewonnenen Ergebnisse
Fachlicher Ansprechpartner
Dr. Gregor Olenik, gregor.olenik∂kit.edu, FiNE - Research Group Fixed-Point Methods for Numerics at Exascale, SCC.
Masterarbeit: Einbettung von Algorithmen gemischter Präzision in die Simulationssoftware OpenFOAM
Tätigkeitsbeschreibung
Algorithmen gemischter Präzision sind ein vielversprechendes Werkzeug, um die Performanz von durch Speicherbandbreite beschränkter Algorithmen zu verbessern. So spielten Algorithmen gemischter Präzision beispielsweise im Rahmen des Exascale Computing Projects aufgrund der zunehmenden Bedeutung von GPUs eine wichtige Rolle. Die am KIT entwickelte Mathematik Software Bibliothek Ginkgo unterstützt Algorithmen gemischter Präzision nativ und ist somit ein ideales Werkzeug, um den Einsatz dieser für Strömungssimulationen auf GPUs zu untersuchen.
Die ausgeschriebene Masterarbeit hat zum Ziel die Eignung von Algorithmen gemischter Präzision im Bereich der Strömungssimulation im Rahmen des EXASIM-Projektes zu untersuchen.
Aufgabenstellung
Die Aufgabenstellung dieser Masterarbeit ist die Einbettung von Algorithmen gemischter Präzision in OpenFOAM durch Ginkgo. Anschließend erfolgt eine eingehende Untersuchung der Performanz anhand einer Reihe von Benchmarkfällen. Die Aufgabenstellung umfasst im Einzelnen:
-
Literaturrecherche zum Thema Algorithmen gemischter Präzision und Identifikation von für Strömungssimulation relevanten Ansätzen
-
Implementierung der entsprechenden Vermittlungsschicht zwischen OpenFOAM und Ginkgo, um gewählte Algorithmen gemischte Präzision zur Laufzeit verfügbar zu machen
-
Anpassung des Simulationsworkflows um Laufzeit und Energieverbrauchsmessung durch reproduzierbare Benchmarks auf HPC Hardware durchzuführen
-
Analyse und Aufbereitung der gewonnenen Ergebnisse
Persönliche Qualifikation
-
Du bringst Kenntnisse in Programmiersprachen, idealerweise C++ und Python, mit
-
Du hast Interesse an strömungsmechanischen Simulationstechniken
-
Du hast Freude an der Arbeit in einem motivierten Team. Selbständiges Arbeiten zeichnet dich aus
-
Vorzugsweise hast du bereits Erfahrung in der Nutzung von Git und Jupyter Notebooks
Fachlicher Ansprechpartner
Dr. Gregor Olenik, gregor.olenik∂kit.edu, FiNE - Research Group Fixed-Point Methods for Numerics at Exascale, SCC.