MACC-Compilersuite

MACC-COMPILERSUITE

Kombinieren Sie produktive Entwicklung mit performanter Berechnung Ihrer Computermodelle auf HPC-Infrastrukturen
PyMACC
MatMACC
Lernen Sie die Codeoptimierung der MACC-Compilersuite unverbindlich über unseren Demonstrator kennen!

HIGHLIGHTS

Entdecken Sie die MACC-Compilersuite und überzeugen Sie sich selbst von der Zukunft der produktiven Entwicklung. Profitieren Sie von der performanten Berechnung Ihrer Computermodelle.

Mit der MACC-Compilersuite steigern Sie die Produktivität Ihrer Entwicklungsprozesse in MATLAB oder Python. Konzentrieren Sie sich wieder auf eine Modellierung mit Orientierung an der Kernaufgabe. Ihr Code wird unter Verwendung der MACC-Compilersuite für Sie signifikant optimiert und beschleunigt, sodass eine limitierte Performance bei der Modellierung nicht mehr berücksichtigt werden muss.
Nach einer Hotspot-Analyse durch Profiling kennzeichnen Sie lediglich die Hotspots mit MACC-Direktiven (Annotationen). Nach der Auswahl Ihrer gewünschten Hardware erledigt die MACC-Compilersuite anschließend für Sie den Rest.
Die MACC-Compilersuite optimiert unter Einsatz modernster Compiler- und Parallelisierungstechniken Ihren Code automatisch und auf Knopfdruck. In diesem Prozess werden aus MATLAB-Code MEX-Files und aus Python-Code C-Extension-Modules erzeugt.
Durch den Einsatz modernster HPC-Technologien können völlig neue Dimensionen der Rechenbeschleunigung erreicht werden. Dabei wird die Zielhardware für einen höchstmöglichen Performancegewinn optimal ausgenutzt.
Durch die Teilautomatisierung des Parallelisierungsprozesses werden Fachkenntnisse zur Parallelisierung hinfällig. Der Parallelisierungsprozess ist für jeden Anwender in wenigen Schritten leicht durchführbar.
Der unkomplizierte Einsatz der MACC-Compilersuite ersetzt schnell und effizient die aufwändige Durchführung einer manuellen Übersetzung und einer manuellen Parallelisierung. Die generierten und hochoptimierten MEX-Files oder C-Extension-Modules können reibungslos in Ihre Codebasis integriert werden.

Produktive Entwicklung mit MATLAB oder Python
Mit der MACC-Compilersuite steigern Sie die Produktivität Ihrer Entwicklungsprozesse in MATLAB oder Python. Konzentrieren Sie sich wieder auf eine Modellierung mit Orientierung an der Kernaufgabe. Ihr Code wird unter Verwendung der MACC-Compilersuite für Sie signifikant optimiert und beschleunigt, sodass eine limitierte Performance bei der Modellierung nicht mehr berücksichtigt werden muss.

Keine Notwendigkeit wesentlicher Code-Umstellungen
Nach einer Hotspot-Analyse durch Profiling kennzeichnen Sie lediglich die Hotspots mit MACC-Direktiven (Annotationen). Nach der Auswahl Ihrer gewünschten Hardware erledigt die MACC-Compilersuite anschließend für Sie den Rest.

Automatische Kompilierung in performanten Code
Die MACC-Compilersuite optimiert unter Einsatz modernster Compiler- und Parallelisierungstechniken Ihren Code automatisch und auf Knopfdruck. In diesem Prozess werden aus MATLAB-Code MEX-Files und aus Python-Code C-Extension-Modules erzeugt.

Effiziente Nutzung von Multicore CPUs und GPUs
Durch den Einsatz modernster HPC-Technologien können völlig neue Dimensionen der Rechenbeschleunigung erreicht werden. Dabei wird die Zielhardware für einen höchstmöglichen Performancegewinn optimal ausgenutzt.

Parallelisierung ohne Fachkenntnisse
Durch die Teilautomatisierung des Parallelisierungsprozesses werden Fachkenntnisse zur Parallelisierung hinfällig. Der Parallelisierungsprozess ist für jeden Anwender in wenigen Schritten leicht durchführbar.

Einfache Integration in bestehenden Workflow
Der unkomplizierte Einsatz der MACC-Compilersuite ersetzt schnell und effizient die aufwändige Durchführung einer manuellen Übersetzung und einer manuellen Parallelisierung. Die generierten und hochoptimierten MEX-Files oder C-Extension-Modules können reibungslos in Ihre Codebasis integriert werden.

MACC-WORKFLOW

Während sich Skriptsprachen wie MATLAB und Python exzellent für das Prototyping eignen, wirkt die schwache Performance stark limitierend auf den Umfang der Rechenaufgaben. Erst durch manuelle Übersetzung in eine hardwarenahe Sprache und anschließender Parallelisierung können auch komplexe Anwendungen, größere Stichproben und repetitive Durchläufe performant gerechnet werden, deren Ergebnisse die notwendige Genauigkeit und Belastbarkeit erzielen können. Der manuelle Prozess verursacht einen erheblichen Aufwand und bremst den Innovationsprozess aus.


FUNKTIONSWEISE

Die MACC-Compilersuite unterstützt mit seinen beiden Frontends MatMACC und PyMACC sowohl MATLAB- als auch NumPy-Code. Die erzeugten hochoptimierten Rechenmodule können ohne Weiteres in bestehenden Code eingebunden werden und bedürfen keinen wesentlichen manuellen Codeumstellungen.

Intelligente
Codeanalyse
Intelligente Codeanalyse
Mithilfe komplexer Interferenzanalysen erkennt der Compiler selbstständig Beschleunigungpotentiale in zuvor markierten Hotspots. Hierzu untersucht er lediglich den strukturellen Aufbau der Codeabschnitte ohne Informationen aus deren Inhalt zu ziehen.

Automatisierte
Übersetzung
Automatisierte Übersetzung
Die Hotspots werden anschließend in performanten Code übersetzt, um eine erste Beschleunigung zu erreichen.

Teilautomatisierte
Parallelisierung
Teilautomatisierte Parallelisierung
Automatische Umstellungen und Vereinfachungen auf allen Ebenen des Codes ermöglichen einen für das parallele Rechnen optimalen Datenund Kontrollfluss – ohne, dass die Semantik des Programms geändert wird.

Einfache
Integration
Einfache Integration
Der Compiler kann sowohl MEX-Bibliotheken für MATLAB als auch C-Extension-Module für Python generieren, die die unkomplizierte Integration der Rechenergebnisse in den übrigen Code gewährleisten.
Intelligente Codeanalyse
Mithilfe komplexer Interferenzanalysen erkennt der Compiler selbstständig Beschleunigungpotentiale in zuvor markierten Hotspots. Hierzu untersucht er lediglich den strukturellen Aufbau der Codeabschnitte ohne Informationen aus deren Inhalt zu ziehen.

BIS ZU 300-FACHE-BESCHLEUNIGUNGEN

Gemessene Beschleunigung am Beispiel der EasyWave-Tsunamisimulation des deutschen GeoForschungsZentrums (GFZ)

DEMONSTRATOR

AB FRÜHJAHR 2019!

Lernen Sie die MACC-Compilersuite mithilfe des Online-Demonstrators kennen. Wählen Sie zwischen Python oder MATLAB und lassen Sie Ihren eigenen oder einen vorgefertigten Code ganz einfach und unverbindlich optimieren.