Detailseite
Projekt Druckansicht

Zugängliches Höchstleistungsrechnen mit Trixi.jl und der Programmiersprache Julia

Fachliche Zuordnung Rechnerarchitektur, eingebettete und massiv parallele Systeme
Mathematik
Förderung Förderung seit 2023
Projektkennung Deutsche Forschungsgemeinschaft (DFG) - Projektnummer 528753982
 
Die Entwicklung von numerischer Simulationssoftware für effizientes High-Performance Computing (HPC) ist herausfordernd, insbesondere wenn man adaptive Gitteranpassungen und heterogene Hardwaresysteme berücksichtigt. Ein Hauptproblem dabei ist, dass die Fähigkeit neue Funktionen hinzuzufügen mit den Anforderungen einer skalierbaren und robusten Implementierung in Einklang zu bringen ist. Die Programmiersprache Julia ist hierbei in einer einzigarten Ausgangssituation, um die Lücke zwischen Benutzerfreundlichkeit und effizientem Hochleistungsrechnen zu schließen. Dieses Potenzial ist jedoch noch lange nicht ausgeschöpft, da bisher nur wenige in Julia geschriebene HPC-Anwendungen existieren und entsprechend wenig Dokumentation über die Nutzung von Julia im HPC-Kontext verfügbar ist. Ein zentrales Ziel dieses Projekts ist es daher, die Benutzerfreundlichkeit und den wissenschaftlichen Impact unserer Julia-basierten Forschungssoftware Trixi.jl zu weiter auszubauen, indem wir das Höchstleistungsrechnen ebenso zugänglich machen wie die sonstige Julia-Nutzung. Trixi.jl ist ein Julia-Paket für adaptive numerische Simulationen von transportdominierten Phänomenen in Wissenschaft und Technik, wobei wir Schwerpunkte auf Erweiterbarkeit, Benutzerfreundlichkeit und effiziente Berechnungsleistung legen. Um unser Ziel zu erreichen, werden wir zunächst die Modularisierung des Pakets verbessern und neue HPC-fähige Datenstrukturen einführen, die einen Teil der Komplexität des parallelen Datenaustauschs und der Gitteradaptivität kapseln. Anschließend wird eine C-kompatible Programmierschnittstelle eingeführt, damit Trixi.jl von anderen Simulationsprogrammen aus genutzt werden kann. Um sicherzustellen, dass die Implementierung eine gute Codequalität und eine hohe Rechenleistung beibehält, werden wir HPC-Hardware in unsere Continuous-Testing-Infrastruktur integrieren und eine HPC-Benchmarking-Suite zur für ein kontinuierliches Leistungsmonitoring erstellen. Darüber hinaus werden wir alle Schritte des Entwicklungsprozesses der Forschungssoftware dokumentieren und Best Practices von Julia für HPC veröffentlichen. Schließlich werden wir die weitere Entwicklung von Trixi.jl fördern, indem wir Tutorien und praktische Workshops für andere Wissenschaftler anbieten und uns aktiv mit der Julia-HPC-Gemeinschaft austauschen.
DFG-Verfahren Sachbeihilfen
 
 

Zusatzinformationen

Textvergrößerung und Kontrastanpassung