Publikation

Towards representing OpenMP in SPMD IR: Concepts and realization in MLIR

  • Darstellungskonzepte für OpenMP in der SPMD IR und ihre Realisierung in MLIR

Malmendier, Frederic J.; Müller, Matthias S. (Thesis advisor); Lankes, Stefan (Thesis advisor); Burak, Semih (Consultant)

Aachen : RWTH Aachen University (2026)
Bachelorarbeit

Bachelorarbeit, RWTH Aachen University, 2026

Kurzfassung

Diese Arbeit erweitert die SPMD Intermediate Representation (IR) im MLIR-Framework um das Programmiermodell OpenMP. Die ursprüngliche IR bildet eine Abstraktionsschicht für API-basierte parallele Programmiermodelle (PPMs), die auf einem Single Program, Multiple Data (SPMD) Modell basieren. Sie orientiert sich dabei insbesondere an Konzepten von MPI und nutzt explizite Kommunikations- und Synchronisationsmechanismen innerhalb einer verteilten Speicherarchitektur (Distributed Memory). Im Gegensatz dazu folgt OpenMP einem direktivenbasierten Ansatz, bei dem Synchronisation an den Kontrollfluss des Programms gekoppelt ist und die Kommunikation über einen gemeinsamen Speicher (Shared Memory) erfolgt. Um diese semantische Lücke zu schließen, entwickelt die vorliegende Arbeit einen ersten Design-Entwurf sowie eine prototypische Implementierung zur Integration von OpenMP in die IR. Ein spezieller Conversion Pass übersetzt OpenMP-Direktiven in kollektive, regionenbasierte Operationen, wodurch parallel- und Worksharing-Loop-Regionen auf neu eingeführte Operationen im spmd-Dialekt abgebildet werden können. Die Evaluation der Erweiterung erfolgt mithilfe des bestehenden Collective Verification Pass (der IR) auf einer eigens dafür erstellten Benchmark-Suite, die gezielt OpenMP-Synchronisationsfehler simuliert. Die Ergebnisse zeigen, dass die erweiterte IR in der Lage ist, OpenMP-Programme erfolgreich zu verifizieren, ohne auf modellspezifische Abstraktionen angewiesen zu sein.

Einrichtungen

  • Lehrstuhl für Hochleistungsrechnen (Informatik 12) [123010]