NIC-Projekt: Compilerwerkzeuge für Parallelrechner
Ziel dieses Projektes ist die Implementierung eines Compilerwerkzeuges, das zur Unterstützung der Entwicklung effizienter adaptierbarer paralleler Anwendungsprogramme eingesetzt werden kann. Das Compilerwerkzeug besteht aus der SCAPP Komponente, der TwoL Komponente und der Scheduling-Komponente.
Die SCAPP Komponente (Source Code Analyser for Performance Prediction) ermöglicht die Analyse von parallelen Programmquelltexten und die Erzeugung von Laufzeitfunktionen zur Modellierung von Programmausführungszeiten. Im laufenden Forschungszeitraum sollen dynamische Kosteninformationen fundamentaler Programmkomponenten durch die Ausführung eines automatisch instrumentierten Programmcodes gesammelt und anschliessend in SCAPP integriert werden.
Das Softwarewerkzeug TwoL realisiert einen compilerbasierten Ansatz zur Erzeugung von Koordinationscode für gemischt task- und datenparallele Anwendungsprogramme aus vorgegebenen Spezifikationen der Anwendungsstruktur. Das Werkzeug ist modular aufgebaut und bietet Schnittstellen zu externen Komponenten, die in den Übersetzungsprozess eingebunden werden. Der Schedule der resultierenden Anwendung wird über Annotationen in einer Zwischendarstellung festgelegt und kann durch eine externe Schedulingkomponente verändert werden. Die dafür notwendigen Laufzeitvorhersagen sollen durch das SCAPP Compilerwerkzeug bereitgestellt werden. Die im Koordinationscode notwendigen Kopier- und Datenumverteilungsoperationen werden durch die DRDLib Bibliothek realisiert.
Weiterführende Informationen sind auf der NIC (Neumann-Institut für Computing) Homepage zu finden.