Detailseite
ESSEX II: Eigenwertlöser für dünn besetzte Matrixprobleme: Skalierbare Software für Exascale-Anwendungen II
Antragsteller
Dr.-Ing. Achim Basermann; Professor Dr. Holger Fehske; Dr. Georg Hager; Professor Dr. Bruno Lang; Professor Dr. Gerhard Wellein
Fachliche Zuordnung
Rechnerarchitektur, eingebettete und massiv parallele Systeme
Mathematik
Theoretische Physik der kondensierten Materie
Mathematik
Theoretische Physik der kondensierten Materie
Förderung
Förderung von 2012 bis 2020
Projektkennung
Deutsche Forschungsgemeinschaft (DFG) - Projektnummer 230898523
Das ESSEX-II-Projekt wird die in ESSEX-I entstandenen erfolgreichen Konzepte und Software-Entwurfsmuster für dünn besetzte Eigenlöser nutzen, um breit einsetzbare und skalierbare Software-Lösungen mit hoher Hardware-Effizienz für die Rechnerarchitekturen der nächsten Dekade zu entwickeln. Alle Aktivitäten werden an den traditionellen Schichten numerischer Softwareorganisation ausgerichtet: grundlegende Software-Bausteine (Kernels), Algorithmen und Anwendungen. Allerdings sind die klassischen Abstraktionsgrenzen zwischen diesen Ebenen in ESSEX-II von starken integrierenden Komponenten durchbrochen: Skalierbarkeit, numerische Zuverlässigkeit, Fehlertoleranz und holistisches Performance- und Power-Engineering. Getrieben durch das Mooresche Gesetz und praktikablen Obergrenzen für Verlustleistung werden Rechnersysteme auch auf Knotenebene immer paralleler und heterogener, mit entsprechend erhöhter Komplexität des Gesamtsystems. MPI+X-Programmiermodelle können in flexible an solche Hardwarestrukturen angepasst werden und stellen einen Ansatz dar, den Herausforderungen dieser massiv parallelen, heterogenen Architekturen zu begegnen. Die Kernel-Schicht in ESSEX-II unterstützt folglich MPI+X, wobei X eine Kombination von Programmiermodellen ist, die die Heterogenität der Hardware zusammen mit funktionaler Parallelität und Datenparallelität effizient nutzt. Zusätzlich werden Möglichkeiten zum asynchronen Checkpointing, zur Erkennung und Korrektur stiller Datenfehler, zur Performance-Überwachung, und zur Energiemessung bereitgestellt. Die Algorithmen-Schicht nutzt diese Bausteine, um massiv parallele, heterogene und fehlertolerante Implementierungen der für die Anwendungsschicht relevanten Algorithmen zu entwickeln: Jacobi-Davidson-Eigenlöser, Kernel Polynomial Method und Tschebyschoff-Zeitpropagation. Diese können auf modernen Parallelrechnern optimale Performance und hohe Genauigkeit liefern. Implementierungen der Tschebyschoff-Filterdiagonalisierung,eines Krylov-Eigenlösers und des kürzlich vorgestellten FEAST-Algorithmus werden im Hinblick auf verbesserte Skalierbarkeit weiter entwickelt. Die Anwendungsschicht wird skalierbare Lösungen für konservative (hermitesche) und dissipative (nicht-hermitesche) Quantensysteme liefern, die durch physikalische Systeme in der Optik und Biologie und durch neue Materialien wie Graphen und topologische Isolatoren motiviert sind. In Erweiterung des Vorgängerprojektes hat ESSEX-II einen zusätzlichen Schwerpunkt im Bereich produktionsreifer Software. Obwohl die Auswahl der Algorithmen strikt von Anwendungsszenarien in der Quantenphysik motiviert ist, werden die zugrunde liegenden Forschungsrichtungen der algorithmischen und der Hardware-Effizienz, der Rechengenauigkeit und der Fehlertoleranz in viele Bereiche der rechnergestützten Wissenschaften ausstrahlen. Alle Entwicklungen werden von einem Performance-Engineering-Prozess begleitet, der rigoros Abweichungen von der optimalen Ressourcen-Effizienz aufdeckt.
DFG-Verfahren
Schwerpunktprogramme
Teilprojekt zu
SPP 1648:
Software für Exascale Computing
Internationaler Bezug
Japan
Partnerorganisation
Japan Science and Technology Agency
JST
JST
Kooperationspartner
Professor Dr. Kengo Nakajima; Professor Dr. Tetsuya Sakurai