Compiler-Techniken für domänenspezifische Sprachen Um komplexe Simulationen für Supercomputer zu beschreiben bieten sich domänenspezifische Sprachen an. Dabei wird der eigentliche Algorithmus abstrakt beschrieben, so dass auch Anwender ohne tiefergehende Programmierkenntnisse damit arbeiten können. Das Programm wird dann von einem entsprechenden Compiler weiterverarbeitet. Das ExaStencils-Projekt beschäftigt sich mit der Generierung von Simulationsanwendungen aus domänenspezifischen Sprachen im Bereich des High-Performance-Computing. Um hocheffizienten Programmcode für kommende Supercomputer-Generationen zu generieren muss eine Vielzahl von Transformationen auf den Programmcode des Benutzers angewandt werden. In dieser Arbeit sollen drei verschiedene Transformations-Techniken evaluiert werden. Ziele der Arbeit sind: • • • • Analyse des bestehenden ExaStencils-Ansatzes Implementierung von Transformationen mittels Scala Kiama Implementierung von Transformationen mittels Scala Macros Vergleich aller drei Lösungen in Hinblick auf Features und Performance Voraussetzungen: Programmierkenntnisse in Java oder Scala Art der Arbeit: Theorie (20%), Konzeption (20%), Implementierung (60%) Ansprechpartner: Christian Schmitt ([email protected]) Lehrstuhl für Informatik 12 Hardware-Software-Co-Design Cauerstraße 11 91058 Erlangen