Core Concepts
Durch die Anpassung des breit eingesetzten MLIR-Kompilierungsframeworks an HPC bringen wir die gleichen Synergien, die die Machine-Learning-Community bereits über ihre DSLs (z.B. Tensorflow, PyTorch) ausnutzt, in die Finite-Differenz-Stencil-HPC-Community.
Abstract
Der Artikel stellt einen gemeinsamen Kompilierungsstapel für drei verschiedene HPC-Stencil-DSL-Kompilierer vor: Devito, PSyclone und den Open Earth Compiler. Dieser Stapel nutzt gemeinsame Komponenten, um hochleistungsfähige ausführbare Dateien zu generieren.
Der Artikel beginnt mit einer Einführung in das Problem der fehlenden Codefreigabe zwischen verschiedenen Stencil-DSL-Kompilierern. Diese Kompilierer verwenden ähnliche Konzepte und Transformationen, aber ihre Implementierungen sind isoliert.
Um dieses Problem anzugehen, führt der Artikel einen gemeinsamen Kompilierungsstapel ein, der auf dem Static Single Assignment (SSA) und Regions-Konzept basiert. Dieser Stapel umfasst drei Hauptbeiträge:
Ein SSA-Dialekt zur Erleichterung der automatischen Domänenzerlegung für die Parallelität im verteilten Arbeitsspeicher von Stencil-Kernen über Nachrichtenaustausch (dmp-Dialekt).
Ein SSA-Dialekt für Nachrichtenaustausch als Satz modularer Operationen in einem standardisierten SSA-basierten IR (mpi-Dialekt).
Eine Prototypimplementierung eines abstraktionsfreien Kompilierungsstapels für die Stencil-DSLs Devito und PSyclone, der die Konzepte von SSA und Region nutzt und Konzepte aus dem Open Earth Compiler erweitert.
Die Leistungsevaluierung zeigt, dass der Ansatz wettbewerbsfähige Leistung für eine Reihe von Finite-Differenz-Stencil-Berechnungen auf CPUs mit gemeinsamem und verteiltem Arbeitsspeicher, GPUs und FPGAs bietet.
Stats
Keine relevanten Statistiken oder Kennzahlen im Artikel enthalten.
Quotes
Keine hervorstechenden Zitate im Artikel enthalten.