Metacca ist ein vom BMBF gefördertes Projekt für "Grundlagenorientierte Forschung für HPC-Software im Hoch- und Höchstleistungsrechnen". Ziel von Metacca ist, das AnyDSL-Framework zu einer homogenen Programmierumgebung für heterogene Ein- und Mehrknoten-Systeme auszubauen. Hierbei wird die vorhandene Programmiersprache und Compiler um ein ausdrucksvolles Typsystem sowie Sprach-Features erweitert, welche eine effiziente Programmierung von Beschleunigern ermöglichen. Wesentliche Aspekte dieser Erweiterung betreffen die Modellierung von Speicher auf heterogenen Systemen, die Verteilung von Daten auf mehrere Rechenknoten und die Verbesserung der Mächtigkeit des Ansatzes zur partiellen Auswertung.
Innerhalb des Projektes wird basierend auf diesen Spracherweiterungen die Unterstützung für Verteilung und Synchronisation von datenparallelen Programmen mithilfe von partieller Auswertung als Bibliothek zur Verfügung gestellt. Performance-Modelle und statische Analyse-Werkzeuge werden in die AnyDSL-Toolchain integriert, um die Entwicklung von Anwendungen und die Auswahl von Parametern zu unterstützen. Eine Laufzeitumgebung mit eingebautem Performance-Profiling kümmert sich um das Ressourcenmanagement und die Systemkonfiguration. Das so entwickelte Framework wird anhand von Anwendungen aus der Bioinformatik und Ray-Tracing evaluiert. Als Zielplattformen dienen heterogene Einzelknoten und Cluster mit mehreren Beschleunigern.
Partner
- Universität des Saarlandes (UdS: Konsortialleitung)
- Deutsches Forschungszentrum für Künstliche Intelligenz (DFKI)
- Regionales Rechenzentrum Erlangen (RRZE)
- Friedrich-Alexander-Universität Erlangen-Nürnberg (FAU)
- Johannes Gutenberg Universität Mainz (JGU)