SimTech-Softwarekonzept
Die Simulationsforschung erhält ihre Ergebnisse aus Softwareprodukten, die von kleinen Stand-Alone-Programmen bis hin zu spezialisierten Bibliotheken und komplexen Softwareumgebungen reichen. Da wir in den zahlreichen SimTech-Projekten eine große Bandbreite an Softwarelösungen nutzen und die Forscher über ein unterschiedliches Level an Erfahrungswissen in der Softwareentwicklung mitbringen, wäre eine einzelne verbindliche Richtlinie für die Entwicklung von Software im Exzellenzcluster weder realistisch noch produktiv. Nichtsdestotrotz haben wir aus den bisherigen Erfahrungen in SimTech eine dreistufige Architektur etabliert, um zukünftige Entwicklungsarbeiten zu klassifizieren und zu organisieren:
(1) Softwarelösungen für Demonstratoren und die Lehre: Ein prominentes Beispiel für die erste Stufe ist unser virtuelles Programmierlabor ViPLab. Dabei handelt es sich um eine internetbasierte Plattform zur Programmierung, Kompilierung und Nutzung von Simulationssoftware für Studierende. Lehrbeauftragte können Aufgaben aufsetzen, zu denen ihre Studierenden von jedem Rechner aus Zugang haben. Einzige Voraussetzung ist ein Browser mit einem Java-Plug-In. Die Studenten können sich auf die Lösung der Aufgabe konzentrieren, während ViPLab eine einfach zu bedienende Weboberfläche bietet, ohne das vorher zeitaufwändige Softwareinstallationen nötig sind. Neben dem Output von Text ermöglicht ViPLab auch die Darstellung von Visualisierungsergebnissen. ViPLab wird von mehr als 500 Studierenden pro Semester genutzt, und unterstützt auch andere Scriptsprachen wie etwa Matlab.
(2) Eine modulare Infrastruktur zur Kopplung existierender Simulationspakete: DUNE (Distributed and Unified Numerics Environment) ist eine modulare Toolbox zur Lösung partieller Differentialgleichungen mit grid-basierten Methoden. Es wird in einigen SimTech-Projekten verwendet und erweitert. Dabei dient es als modulare Infrastruktur auf der zweiten Stufe. DUNE unterstützt die einfache Implementierung von Methoden wie Finite-Elemente, Finite-Volumen und Finite-Differenzen. Eine zentrale Rolle innerhalb von PN 5 spielen zum Beispiel DuMuX - eine Erweiterung von DUNE im Bereich der Strömungs- und Transportprozesse - und DUNE-Vis, mit dem sich Visualisierungen in den hierarchischen Grid-Strukturen von DUNE integrieren lassen. Die Workflow-Infrastruktur, die in PN 8 entwickelt wird, wird eingesetzt, um DUNE mit dem in-house-Code PANDAS erfolgreich zu koppeln.
(3) Open-Source SimTech Solver Plattform: Wir sind uns darüber bewusst, dass die meisten unserer bisherigen Simulationssoftwarelösungen und -prototypen nicht für eine gute Performance auf hybriden Many-Core-Höchstleistungsrechner-Architekturen skalierbar sind, so wie es im Rahmen der Exascale-Initiative vorgesehen ist. Daher planen wir die Erstellung und Implementierung einer neuen SimTech-Solver-Umgebung (STS). Diese soll die Workflow- und Data-Provisioning-Tools aus RA E mit fortgeschrittenen hochparallelen numerischen Algorithmen kombinieren. Wird werden die STS zum Beispiel auf numerischen Bibliotheken aufsetzen, die für Anwendungen aus der linearen Algebra im Rahmen des “International Exascale Software Project” verfügbar sein werden. Nach intensiven Diskussionen mit einigen unserer Industriepartner haben wir uns entschlossen, STS als Open-Source-Plattform zu realisieren. Diese Plattform soll sukzessive unsere bestehenden Tools und Solver integrieren, die stetige Migration zu neuen Architekturen von skalierbaren Simulationsumgebungen ermöglichen und gleichzeitig die derzeitigen Modellierungs- und Simulationsmöglichkeiten bewahren.

