Eigenwertlöser für dünn besetzte Matrixprobleme: Skalierbare Software für Exascale-Anwendungen II (ESSEX-II)

Drittmittelfinanzierte Gruppenförderung - Teilprojekt

Details zum übergeordneten Gesamtprojekt

Titel des Gesamtprojektes: SPP 1648: Software for Exascale Computing


Details zum Projekt

Projektleiter/in:
Prof. Dr. Gerhard Wellein

Projektbeteiligte:
Faisal Shahzad

Beteiligte FAU-Organisationseinheiten:
Professur für Höchstleistungsrechnen
Regionales Rechenzentrum Erlangen (RRZE)

Mittelgeber: DFG / Schwerpunktprogramm (SPP)
Akronym: SPPEXA
Projektstart: 01.01.2016
Projektende: 31.12.2018


Abstract (fachliche Beschreibung):


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 ESSEXII

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.



Externe Partner

Universität Greifswald
German Aerospace Center / Deutsches Zentrum für Luft- und Raumfahrt e.V. (DLR)
Bergische Universität Wuppertal
University of Tokyo
University of Tsukuba / 筑波大学


Publikationen

Kreutzer, M., Ernst, D., Bishop, A.R., Fehske, H., Hager, G., Nakajima, K., & Wellein, G. (2018). Chebyshev filter diagonalization on modern manycore processors and GPGPUs. Springer Verlag.
Shahzad, F., Thies, J., Kreutzer, M., Zeiser, T., Hager, G., & Wellein, G. (2018). CRAFT: A library for easier application-level Checkpoint/Restart and Automatic Fault Tolerance. IEEE Transactions on Parallel and Distributed Systems. https://dx.doi.org/10.1109/TPDS.2018.2866794
Galgon, M., Krämer, L., Lang, B., Alvermann, A., Fehske, H., Pieper, A.,... Thies, J. (2017). Improved coefficients for polynomial filtering in ESSEX. (pp. 63-79). Springer Verlag.
Anzt, H., Gates, M., Dongarra, J., Kreutzer, M., Wellein, G., & Köhler, M. (2017). Preconditioned Krylov solvers on GPUs. Parallel Computing, 68, 32-44. https://dx.doi.org/10.1016/j.parco.2017.05.006
Anzt, H., Dongarra, J., Kreutzer, M., Wellein, G., & Köhler, M. (2016). Efficiency of general Krylov methods on GPUs - An experimental study. (pp. 683-691). IEEE Computer Society.
Kreutzer, M., Thies, J., Röhrig-Zöllner, M., Pieper, A., Shahzad, F., Galgon, M.,... Wellein, G. (2016). GHOST: Building Blocks for High Performance Sparse Linear Algebra on Heterogeneous Systems. International Journal of Parallel Programming, 1-27. https://dx.doi.org/10.1007/s10766-016-0464-z
Wellein, G., Alvermann, A., Fehske, H., Hager, G., Kreutzer, M., Lang, B.,... Galgon, M. (2016). High-performance implementation of Chebyshev filter diagonalization for interior eigenvalue computations. Journal of Computational Physics, 325, 226-243. https://dx.doi.org/10.1016/j.jcp.2016.08.027

Zuletzt aktualisiert 2018-22-11 um 18:01