Kehrer, TimoBerlik, StefanKelter, UdoRitter, MichaelSinz, Elmar J.Schürr, Andy2018-11-142018-11-142012978-3-88579-295-6https://dl.gi.de/handle/20.500.12116/18153Rechenintensive numerische Anwendungen müssen oft parallel auf Multiprozessorsystemen ausgeführt werden, um akzeptable Laufzeiten zu erzielen. Ein besonders wirtschaftlicher Ansatz hierbei ist die Nutzung preisgünstiger Grafikkarten (GPU, Graphics Processing Units), die eine große Zahl von Prozessoren enthalten. Aus diversen Gründen können i.d.R. aber nicht alle Funktionen auf der GPU ausgeführt werden, d.h. eine Anwendung muß teilweise auf der CPU und GPU ausgeführt werden. Softwaretechnisch resultieren hieraus zwei Probleme: erstens sind die Programmiersprachen und Entwicklungsmethoden für GPUs deutlich verschieden von denen von Allzweckprozessoren; moderne modellbasierte Entwicklungsmethoden sind kaum verfügbar. Zweitens ist für die Kooperationen der beiden Teile einer Anwendung in erheblichem Umfang Code zu implementieren. In diesem Papier stellen wir eine Lösung beider Probleme vor. Zunächst analysieren wir, welche Teilaufgaben bei der Implementierung von GPU-unterstützten Applikationen durch modellbasierte Entwicklungsmethoden und -Werkzeuge sinnvoll automatisiert werden können, um die Arbeitseffizienz und Korrektheit des Codes zu steigern. Sodann beschreiben wir ein auf dem Eclipse Modeling Framework basierendes Generatorsystem, das diese Implementierungsaufgaben automatisiert. Abschließend beschreiben wir an konkreten Beispielen, in welchem Umfang Code generiert werden konnte und welche Ausführungszeiten erzielt wurden.deModellbasierte Entwicklung GPU-unterstützter ApplikationenText/Conference Paper1617-5468