Das Seminar behandelt MLIR als Infrastruktur für mehrstufige Compiler und domänenspezifische Zwischendarstellungen. Der Fokus liegt auf Dialekten, Operationen, Typen, Pattern Rewriting, Pass-Infrastruktur, Lowering-Strategien und der Anbindung an LLVM IR.
Vier Tage sind erforderlich, weil MLIR ein eigenes Programmiermodell mit Operationen, Dialekten, Traits, Interfaces, Rewrite-Patterns und Konversionsmechanismen besitzt. Die Inhalte verbinden Konzeptarbeit mit praktischer Pipeline-Struktur.
Kapitel 1: MLIR-Grundmodell und IR-Struktur
Inhaltsverzeichnis
- Operationen, Regionen und Blöcke
- Attribute, Typen und Symbolik
- Kontext und Verifikation
Schritt 1: IR-Struktur lesen
Eine MLIR-Datei wird in Operationen, Regionen, Blöcke und Werte zerlegt. Verschachtelung und Symbolbezüge werden als zentrales Organisationsprinzip verstanden.
Schritt 2: Typen und Attribute einordnen
Statische Informationen werden über Typen und Attribute modelliert. Der Unterschied zwischen struktureller Information und semantischer Bedeutung wird herausgearbeitet.
Schritt 3: Verifikation nutzen
Operationen werden mit Invarianten verbunden. Verifier-Meldungen werden genutzt, um Dialektregeln und ungültige IR-Zustände nachvollziehbar zu machen.
Kapitel 2: Eigene Dialekte und Operationen
Inhaltsverzeichnis
- ODS und TableGen-nahe Beschreibungen
- Traits und Interfaces
- Parser, Printer und Verifier
Schritt 1: Dialektgrenzen definieren
Ein Dialekt wird anhand seiner fachlichen Verantwortung abgegrenzt. Operationen werden so gewählt, dass Analyse und Transformation später kontrollierbar bleiben.
Schritt 2: Operationen beschreiben
Operanden, Resultate, Attribute, Traits und Interfaces werden festgelegt. Die Beschreibung wird mit Verifikation und lesbarer Ausgabe verbunden.
Schritt 3: Benutzerfreundliche IR schaffen
Custom Parsing und Printing werden als Mittel für lesbare Testfälle und bessere Diagnose eingeordnet. Komplexität wird nur dort eingeführt, wo sie fachlich Nutzen bringt.
Kapitel 3: Pattern Rewriting und Pass-Infrastruktur
Inhaltsverzeichnis
- Rewrite Patterns
- Canonicalization
- Operation Passes und Pipelines
Schritt 1: Rewrite-Regeln formulieren
Operationen werden über Muster erkannt und ersetzt. Die Regel wird mit Vorbedingungen versehen, damit Transformationen semantisch korrekt bleiben.
Schritt 2: Kanonische Formen nutzen
Canonicalization wird als wiederholbare Vereinfachung verstanden. Der Nutzen für spätere Lowering-Schritte und Tests wird anhand kleiner Beispiele sichtbar gemacht.
Schritt 3: Passes strukturieren
Operation Passes werden in Pipelines organisiert. Analyse, Transformation und Fehlerbehandlung werden so getrennt, dass parallele und verschachtelte Ausführung nachvollziehbar bleibt.
Kapitel 4: Dialect Conversion und Lowering nach LLVM IR
Inhaltsverzeichnis
- Conversion Target und Type Converter
- Teilweises und vollständiges Lowering
- Übersetzung Richtung LLVM IR
Schritt 1: Legalität definieren
Ein Conversion Target legt fest, welche Operationen erlaubt sind. Dadurch wird Lowering nicht als Textumwandlung, sondern als kontrollierte IR-Transformation behandelt.
Schritt 2: Typen konvertieren
Ein Type Converter überführt höherstufige Typen in niedrigere Repräsentationen. Region-Signaturen, MemRefs und Funktionsgrenzen werden berücksichtigt.
Schritt 3: Pipeline abschließen
Die Pipeline führt von höherstufigen Dialekten zu LLVM-nahen Dialekten und weiter Richtung LLVM IR. Tests prüfen jeden Zwischenstand, damit Fehler früh isoliert werden.
Seminar und Anbieter vergleichen
Öffentliche Schulung
Diese Seminarform ist auch als Präsenzseminar bekannt und bedeutet, dass Sie in unseren Räumlichkeiten von einem Trainer vor Ort geschult werden. Jeder Teilnehmer hat einen Arbeitsplatz mit virtueller Schulungsumgebung. Öffentliche Seminare werden in deutscher Sprache durchgeführt, die Unterlagen sind teilweise in Englisch.
Inhausschulung
Diese Seminarform bietet sich für Unternehmen an, welche gleichzeitig mehrere Teilnehmer gleichzeitig schulen möchten. Der Trainer kommt zu Ihnen ins Haus und unterrichtet in Ihren Räumlichkeiten. Diese Seminare können auf Deutsch – bei Firmenseminaren ist auch Englisch möglich – gebucht werden.
Webinar
Diese Art der Schulung ist geeignet, wenn Sie die Präsenz eines Trainers nicht benötigen, nicht reisen können und über das Internet an einer Schulung teilnehmen möchten.
Fachbereichsleitung / Trainerleitung / Ansprechpartner
-

Lucas Beich
Telefon: + 49 (221) 74740055
E-Mail: lucas.beich@seminar-experts.de -

Paul Goldschmidt
Telefon: + 49 (221) 74740055
E-Mail: paul.goldschmidt@seminar-experts.de
Seminardetails
| Dauer: | 4 Tage ca. 6 h/Tag, Beginn 1. Tag: 10:00 Uhr, weitere Tage 09:00 Uhr |
| Preis: |
Öffentlich oder Live Stream: € 2.396 zzgl. MwSt. Inhaus: € 6.800 zzgl. MwSt. |
| Teilnehmeranzahl: | min. 2 - max. 8 |
| Teilnehmerkreis: | Compiler-Entwicklung, Domain-spezifische Sprachen, KI-Compiler, HPC, Embedded- und Hardware-nahe Softwareentwicklung |
| Voraussetzungen: | Gute C++-Kenntnisse, Compiler-Grundlagen und Grundverständnis von IR-Konzepten |
| Standorte: | Live-Online, Firmenstandort, Schulungszentrum |
| Unterlagen: | Seminarunterlagen, Übungen, Beispielprojekte |
Seminartermine
Die Ergebnissliste kann durch Anklicken der Überschrift neu sortiert werden.
