Hardware- und Leistungsorientierte Codegenerierung für Informatik und Ingenieurwesen

Third party funded individual grant


Project Details

Project leader:
Prof. Dr. Harald Köstler
Prof. Dr. Ulrich Rüde

Project members:
Martin Bauer
Jan Hönig

Contributing FAU Organisations:
Lehrstuhl für Informatik 10 (Systemsimulation)

Funding source: Bundesministerium für Bildung und Forschung (BMBF)
Acronym: HPC2SE
Start date: 01/01/2017
End date: 31/12/2019


Abstract (technical / expert description):



Das HPC²SE Projekt entwickelt
einen neuartigen Metaprogrammieransatz, um die Nutzung moderner und zukünftiger
heterogener HPC-Systeme für eine breite Klasse von Simulationen einfacher und
effizienter zu gestalten.



Eine Schlüsseltechnologie für
die Forschung oder industrielle Entwicklungen ist die numerische Simulation.
Beispiele hierfür sind die Klimaprognose, der Katastrophenschutz, die
Energieversorgung, der Fahrzeugbau. Zunehmend gewinnen simulationsbasierte
Risikoabschätzungen an gesellschaftlicher und wirtschaftlicher Bedeutung,
sodass daraus auch ökonomische und politische Entscheidungen abgeleitet werden.



Für solche Simulationen stellt
die Hardwareentwicklung hat der vergangenen 10 Jahren eine große
Herausforderung dar. Einzelne Prozessorkerne werden nicht mehr schneller,
sondern höhere Rechenleistung wird nur durch mehr Parallelität erreicht.
Darüber hinaus hängt die Zeit für die Berechnung einer Simulation nicht nur von
der Leistung der Prozessoren ab, sondern insbesondere auch vom verwendeten
mathematischen Verfahren und wie gut dieses zur verwendeten Hardware passt. Für
jedes neue Modell und jede neue Hardware sind daher spezifische Optimierungen
und Anpassungen nötig. Diese Änderungen erfordern mathematisches,
algorithmisches und technisches Expertenwissen. Das HPC²SE Projekt wird Techniken
entwickeln, um die Wahl und Implementierung dieser Optimierungen für Anwender
signifikant zu erleichtern. Die zu entwickelnden Tools werden als Open-Source
veröffentlicht und sind nicht an eine spezielle Simulationssoftware gekoppelt.
Damit stehen sie einer breiten Community aus Forschung und Industrie zur
Verfügung. Im Rahmen des Projektes werden die beiden Open-Source Systeme DUNE
& waLBerla genutzt, welche von den beteiligten Gruppen mitentwickelt
werden.



Konkret wird das Projekt dem
Anwender eine domain-spezifische Sprache (DSL) zur Verfügung stellen, welche es
erlaubt das mathematische Modell direkt zu beschreiben. Diese Eingabe wird in
eine algebraische Zwischenrepräsentation übersetzt, welche weitreichende
mathematische und algorithmische Optimierungen ermöglicht. Eine effiziente
Codegenerierung für verschiedene moderne Zielarchitekturen (CPUs, GPUs, usw.)
wird durch einen speziell erweiterten C++ Compiler realisiert. Zusammenfassend,
wird das HPC²SE Projekt eine Reihe neuer Forschungsergebnisse in der formalen
Beschreibung und algorithmischen Umsetzung von zeitintensiven Simulationen
sowie in der effizienten Codegenerierung und –optimierung für moderne
hochparallele Systeme entwickeln. Somit wird die Nutzung von modernen many-core
Hochleistungssystemen entscheidend erleichtert. Anhand von Simulationen, wie
sie im Bereich der Luftfahrttechnik, Elektrotechnik, Batterieforschung oder der
Erdöl- und Erdgastechnik vorkommen, wird HPC²SE zeigen, wie dasselbe
mathematische Modell schnell und effizient für unterschiedliche Architekturen
umgesetzt werden kann.





External Partners

Westfälische Wilhelms-Universität (WWU) Münster
Ruprecht-Karls-Universität Heidelberg


Publications

Bauer, M., & Rüde, U. (2018). lbmpy: A Flexible Symbolic Toolkit for Lattice Boltzmann Methods with CodeGeneration for CPUs and GPUs. Paper presentation, University of Delaware, Newark, Delaware, USA, US.

Last updated on 2019-16-04 at 12:05