HighPerMeshes
Domänenspezifische Programmierung und zielplattformbewusste Compiler-Infrastruktur für Algorithmen auf unstrukturierten Gittern
Ziel des Projektes HighPerMeshes ist die Entwicklung eines in der Praxis einsetzbaren domänenspezifischen Frameworks zur effizienten, parallelen und skalierenden Implementierung iterativer Algorithmen auf unstrukturierten Gittern. Simulationssoftware im Zeitbereich, die in diese Gruppe fällt, wird in den letzten Jahren sowohl im wissenschaftlichen als auch im industriellen Umfeld vermehrt eingesetzt und ergänzt bzw. verdrängt vergleichbare Methoden auf regulären Gittern. Um in der rechnergestützten Forschung und industriellen Entwicklung den Anwendungsbereich dieser Methoden voranzutreiben, zum Beispiel von der Analyse eines statischen Systems hin zur Optimierung von Parametern, wird immer mehr Rechenleistung benötigt. Dazu können hochskalierende Systeme mit vielen parallelen Rechenknoten mit modernen Prozessorarchitekturen wie Manycore-CPUs, Graphikprozessoren oder FPGAs beitragen. Im Gegensatz zur Domäne der regulären Gitter gibt es für Entwicklerinnen und -entwickler natur- und ingenieurwissenschaftlicher Simulationsprogramme mit unstrukturierten Gittern bisher keine einfach zu nutzenden, produktiven und damit praxistauglichen Entwicklungswerkzeuge, um moderne Rechnersysteme effizient zu erschließen.
Mit den Ergebnissen des Projekts HighPerMeshes können existierende, in einer Hochsprache geschriebene Quelltexte von Anwenderinnen und Anwendern mit moderatem Aufwand durch domänenspezifische Bibliotheks- und Sprachelemente ergänzt werden. Unsere optimierende Compiler-Infrastruktur nutzt dann Domänenwissen, um eine hochparallelisierte und effiziente Ausführung auf allen relevanten modernen Hardwarearchitekturen, auch in heterogenen Systemen, zu ermöglichen. Damit bietet das Projekt für eine Vielzahl an HPC-Entwicklerinnen und -Entwicklern aus Wissenschaft und Industrie einen einfachen und nachhaltigen Pfad zur skalierenden Nutzung aktueller und zukünftiger Zielarchitekturen.
Die Entwicklung setzt bewusst auf Standards und Open-Source-Technologien, um von Weiterentwicklungen zu profitieren und eine langfristige Nutzung sicherzustellen. Die darauf aufbauende Compiler-Infrastruktur wird mit der Veröffentlichung der Projektergebnisse als Open-Source-Projekt frei zugänglich gemacht. Mit den am Projekt beteiligten Personen zur Anwendungsentwicklung, sowie weiteren Nutzerinnen und Nutzern an den beteiligten Rechenzentren wird der Grundstein für eine nachhaltige Gemeinschaft für die Weiterentwicklung und Pflege der Projektergebnisse gelegt.
Publikationen
- Kenter T., Mahale G., Alhaddad S., Grynko Y., Schmitt C., Afzal A., Hannig F., Förstner J., Plessl C.:
OpenCL-based FPGA Design to Accelerate the Nodal Discontinuous Galerkin Method for Unstructured Meshes
The 26th IEEE International Symposium on Field-Programmable Custom Computing Machines (FCCM) (Boulder, CO, USA, 29. April 2018 - 1. Mai 2018)
In: Proceedings of the 26th IEEE International Symposium on Field-Programmable Custom Computing Machines (FCCM) 2018
DOI: 10.1109/FCCM.2018.00037
BibTeX: Download - Afzal A., Schmitt C., Alhaddad S., Grynko Y., Teich J., Förstner J., Hannig F.:
Solving Maxwell's Equations with Modern C++ and SYCL: A Case Study
The 29th Annual IEEE International Conference on Application-specific Systems, Architectures and Processors (ASAP) (Politecnico di Milano, Milan, 10. Juli 2018 - 12. Juli 2018)
In: Proceedings of the 29th Annual IEEE International Conference on Application-specific Systems, Architectures and Processors (ASAP) 2018
DOI: 10.1109/ASAP.2018.8445127
URL: https://www12.cs.fau.de/downloads/schmittch/publications/ASAGTFH18asap.pdf
BibTeX: Download - Groth S., Schmitt C., Teich J., Hannig F.:
SYCL Code Generation for Multigrid Methods
22nd International Workshop on Software and Compilers for Embedded Systems (SCOPES '19) (Sankt Goar, Germany, 27. Mai 2019 - 29. Mai 2019)
In: 22nd International Workshop on Software and Compilers for Embedded Systems (SCOPES '19) 2019
DOI: 10.1145/3323439.3323984
BibTeX: Download - Groth S., Grünewald D., Teich J., Hannig F.:
A Runtime System for Finite Element Methods in a Partitioned Global Address Space
ACM International Conference on Computing Frontiers 2020 (Catania, Sicily, Italy, 11. Mai 2020 - 13. Mai 2020)
In: Proceedings of the 17th ACM International Conference on Computing Frontiers (CF) 2020
DOI: 10.1145/3387902.3392628
BibTeX: Download - Alhaddad S., Förstner J., Groth S., Grünewald D., Grynko Y., Hannig F., Kenter T., Pfreundt FJ., Plessl C., Schotte M., Steinke T., Teich J., Weiser M., Wende F.:
HighPerMeshes -- A Domain-Specific Language for Numerical Algorithms on Unstructured Grids
18th International Workshop on Algorithms, Models and Tools for Parallel Computing on Heterogeneous Platforms (HeteroPar) (Warsaw, 24. August 2020 - 24. August 2020)
In: Proceedings of the 18th International Workshop on Algorithms, Models and Tools for Parallel Computing on Heterogeneous Platforms (HeteroPar) in Euro-Par 2020: Parallel Processing Workshops 2021
DOI: 10.1007/978-3-030-71593-9_15
BibTeX: Download