PERFACCT COMPILER

PERFACCT Compiler

Intelligente Codeanalyse

Ihr abstrakter Code wird automatisch analysiert. Anhand der Metadaten erkennt der Compiler selbstständig Beschleunigungspotenziale. Dazu gehört unter anderem das Erkennen von Abschnitten, die auf der CPU oder der GPU parallelisiert werden können.

Automatische C-Kompilierung

Der abstrakte Code wird anschließend automatisch in C-Code übersetzt. Die entstehende C-Applikation ist schon in dieser Form deutlich schneller als ihr abstraktes Gegenstück. Weiterführende manuelle Anpassungen am Code sind nicht notwendig.

Automatische Parallelisierung

Anhand der Ergebnisse der Metadaten-Analyse parallelisiert der Compiler nun selbstständig die C-Applikation, optimiert auf die Zielhardware des Nutzers. Dabei kommen innovative Beschleunigungskonzepte zum Einsatz, die beispielsweise den Kommunikationsoverhead minimieren.

Selbstständige Architekturauswahl

Bestimmte Eigenschaften eines Codes machen - für eine performante Berechnung - die Nutzung unterschiedlicher Architekturen notwendig. Der PERFACCT COMPILER entscheidet selbstständig, welche Code-Abschnitte auf dem Hauptprozessor, einem Hilfsprozessor oder einer Grafikkarte berechnet werden sollten und führt die entsprechenden Anpassungen durch.

Integration von Toolboxen

Spezielle Anwendungsfälle, wie beispielsweise die Programmierung von Deep-Learning-Prozessen, machen die Verwendung zusätzlicher Toolboxen notwendig. Der PERFACCT COMPILER ist in der Lage, auch Toolboxaufrufe mit zu übersetzen. Dabei spielt es keine Rolle, ob es sich um Python-, MATLAB- oder Toolboxen anderer Sprachen handelt.

Bis zu 300-fache Beschleunigungen möglich

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