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

M.Sc. Mathematik, M.Sc. Informatik, M.Sc. Maschinenbau

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.

  • 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 gemischter 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

Deine Qualifikationen

  • 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

Betreuung

Prof. Dr. Hartwig Anzt, Dr. Gregor Olenik
Research Group Fixed-Point Methods for Numerics at Exescale (FiNE)
Steinbuch Centre for Computing

gregor.olenik∂kit.edu