ECOUSS
Effiziente und offene Compiler Umgebung für Semantisch annotierte parallele Simulationen
Description
Neue Prozessormodelle erhöhen die Rechenfrequenz kaum mehr, sondern integrieren anstelle dessen mehr und mehr Prozessorkerne. Das zieht eine völlige Umstellung von sequentielle auf parallele Programmiermodelle nach sich. Zugleich wird durch die wachsende Heterogeneität die Portierbarkeit von Programmen drastisch erschwert. Dabei ist das Problem nicht wirklich neu: SIMD Prozessoren existieren bereits seit längerer Zeit und ihre effiziente Nutzung erfordert, dass der Code vektorisiert und das Datenlayout modifiziert wird. Automatische Ansätze sind dafür grundsätzlich unzulänglich, und so muss oft der Programmierer manuell Veränderungen vornehmen, bei denen intrinsische Funktionen genutzt werden. Das beeinträchtigt die Programmierung und die zukünftige Portierbarkeit immens. Das ECOUSS Projekt zielt darauf ab, die Compilerfähigkeiten dahingehend auszubauen, dass der Programmierer den Compilierprozess intelligent erweitern und steuern kann, so dass domänenspezifische Optimierungen schnell konstruiert und über verschiedene Plattformen hinweg eingesetzt werden können. In dem Vortrag zeigen wir, wie eine C-Sprache dahingehend erweitert werden kann, SIMD Programmierung effizient und portabel zu gestalten. Diese Erweiterungen geben dem Programmierer völlige Kontrolle darüber wo und wie Vektorisierung des Kontrollflusses vorgenommen wird.
Contact
Uwe Küster
Administrative contact
Universität Stuttgart
Höchstleistungsrechenzentrum Stuttgart
Nobelstraße 19
70550 Stuttgart
Germany