2026
Bachelorarbeit, RWTH Aachen University, 2026
Veröffentlicht auf dem Publikationsserver der RWTH Aachen University
Genehmigende Fakultät
Fak09
Hauptberichter/Gutachter
; ;
Tag der mündlichen Prüfung/Habilitation
2026-06-09
Online
DOI: 10.18154/RWTH-2026-05534
URL: https://publications.rwth-aachen.de/record/1036500/files/1036500.pdf
Einrichtungen
Inhaltliche Beschreibung (Schlagwörter)
MLIR (frei) ; MPI (frei) ; OpenMP (frei) ; SPMD (frei) ; intermediate representation (frei) ; static analysis (frei)
Thematische Einordnung (Klassifikation)
DDC: 004
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.This thesis extends the SPMD IR within the MLIR framework by incorporating the OpenMP programming model. The original IR provides an abstraction layer for API-based parallel programming models (PPMs) that share a Single Program, Multiple Data (SPMD) execution style. At its core, the abstraction is derived from MPI concepts and relies on explicit communication and synchronization mechanisms within distributed memory domains. In contrast, OpenMP's directive-based model synchronizes execution with the program's control flow and handles communication via shared memory. To bridge this semantic gap, this work presents an initial design and a prototype implementation for representing OpenMP within the IR. Specifically, a dedicated conversion pass models OpenMP directives as collective, region-based operations, mapping parallel and worksharing-loop regions to newly introduced operations in the spmd dialect. The extension was evaluated by applying the IR's existing Collectives Verification pass to a specifically created benchmark suite targeting OpenMP synchronization errors. The results demonstrate that the IR can successfully verify OpenMP programs without relying on model-specific abstractions.
OpenAccess:
PDF
(additional files)
Dokumenttyp
Bachelor Thesis
Format
online
Sprache
English
Interne Identnummern
RWTH-2026-05534
Datensatz-ID: 1036500
Beteiligte Länder
Germany
|
The record appears in these collections: |