33
Dünnbesetzte Eigenwertlöser auf Heterogenen Supercomputern Dr. Jonas Thies DLR Simulations- und Softwaretechnik Abteilung Verteilte Systeme und Komponentensoftware Arbeitsgruppe High Performance Computing www.DLR.de Folie 1 > T-Systems HPCn Workshop SC 2015 > Jonas Thies sparse solvers on supercomputers > 06.05.2015

Dünnbesetzte Eigenwertlöser auf Heterogenen Supercomputern

  • Upload
    others

  • View
    1

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Dünnbesetzte Eigenwertlöser auf Heterogenen Supercomputern

Dünnbesetzte Eigenwertlöser auf Heterogenen Supercomputern

Dr. Jonas Thies DLR Simulations- und Softwaretechnik Abteilung Verteilte Systeme und Komponentensoftware Arbeitsgruppe High Performance Computing

www.DLR.de • Folie 1 > T-Systems HPCn Workshop SC 2015 > Jonas Thies • sparse solvers on supercomputers > 06.05.2015

Page 2: Dünnbesetzte Eigenwertlöser auf Heterogenen Supercomputern

Wissenschaftliche Einbettung

DFG Schwerpunktprogramm Software for Exascale Computing Projekt ESSEX Equipping Sparse Solvers for the Exascale

Beteiligte Universitäten RRZE Erlangen (Prof. Wellein, Hager)

Wuppertal, Numerik (Prof. Lang) Greifswald, Physik (Prof. Fehske)

www.DLR.de • Folie 2 > T-Systems HPCn Workshop SC 2015 > Jonas Thies • sparse solvers on supercomputers > 06.05.2015

Laufzeit: 2013-2015 Folgeantrag gestellt

Internationale Kontakte

Sandia (Trilinos Projekt) Tenessee (Dongarra)

Japan: Tsukuba, Tokyo Niederlande: Groningen, Utrecht

Software wird unter einer OpenSource Lizenz zur Verfügung gestellt

Page 3: Dünnbesetzte Eigenwertlöser auf Heterogenen Supercomputern

Übersicht

• Aktuelle Herausforderungen für High-End HPC

• Eigenwertprobleme: Anwendungen und Algorithmen

• Technologie: MPI+X, Fehlertoleranz und Nodelevel Performance

• Software Entwicklungen: GHOST und PHIST

• Fallbeispiele und Zusammenfassung

www.DLR.de • Folie 3 > T-Systems HPCn Workshop SC 2015 > Jonas Thies • sparse solvers on supercomputers > 06.05.2015

Page 4: Dünnbesetzte Eigenwertlöser auf Heterogenen Supercomputern

“Aggressive Strawman” (2007) DARPA (The Defense Advanced Research Projects Agency of the U.S)

Characteristic Flops – peak (PF) 997 Microprocessors 223,872 Cores/microprocessor 742 Cache (TB) 37.2 DRAM (PB) 3.58 Total power (MW) 67.7 Memory bandwidth / Flops 0.0025 Network bandwidth / Flops 0.0008

Hypothetisches Exascale-System

www.DLR.de • Folie 4 > T-Systems HPCn Workshop SC 2015 > Jonas Thies • sparse solvers on supercomputers > 06.05.2015

170 Millionen Kerne!

Page 5: Dünnbesetzte Eigenwertlöser auf Heterogenen Supercomputern

Schon heutige Workstations sind 100-fach parallel

www.DLR.de • Folie 5 > T-Systems HPCn Workshop SC 2015 > Jonas Thies • sparse solvers on supercomputers > 06.05.2015

• Beispiel: Intel® Haswell Architektur 1-2 CPU Sockel (Sockets) je 18 Kerne (Cores) Hyperthreading, 2 Threads/Core Je 8 Operationen gleichzeitig (SIMD, FMA)

• Grafikkarte (tausende Threads) oft verfügbar aber selten genutzt

FAZIT: Die hier vorgestellte Software ist nicht nur für das High-End Computing relevant sondern kann vielfältig eingesetzt werden

Page 6: Dünnbesetzte Eigenwertlöser auf Heterogenen Supercomputern

Beschleunigerhardware wird zum „HPC Main Stream“

Nvidia® GPUs Intel® Xeon Phi

www.DLR.de • Folie 6 > T-Systems HPCn Workshop SC 2015 > Jonas Thies • sparse solvers on supercomputers > 06.05.2015

TOP500 Entwicklung

• Hohe Parallelität und Flop Raten • Experten für die Portierung erforderlich

(z.B. CUDA Kenntnisse) • höhere Speicherbandbreite • neuer Bottleneck CPU→Device

Die häufigsten Vertreter:

Page 7: Dünnbesetzte Eigenwertlöser auf Heterogenen Supercomputern

Software-Herausforderungen

Probleme

• Nur wenige Algorithmen sind für extreme Parallelität geeignet. • Bestehende Anwendungssoftware wurde für moderat parallele

Systeme entwickelt (üblicherweise „MPI flat“)

Peta- bis Exascale erfordert

• Extrem skalierbare Algorithmen • Neue Konzepte für

• Ausfallsicherheit (Fault Tolerance) • Programmiermodelle • Software Engineering (Methoden und Tools)

www.DLR.de • Folie 7 > T-Systems HPCn Workshop SC 2015 > Jonas Thies • sparse solvers on supercomputers > 06.05.2015

Page 8: Dünnbesetzte Eigenwertlöser auf Heterogenen Supercomputern

Übersicht

• Aktuelle Herausforderungen für High-End HPC

• Eigenwertprobleme : Anwendungen und Algorithmen

• Technologie: MPI+X, Fehlertoleranz und Nodelevel Performance

• Software Entwicklungen: GHOST und PHIST

• Fallbeispiele und Zusammenfassung

www.DLR.de • Folie 8 > T-Systems HPCn Workshop SC 2015 > Jonas Thies • sparse solvers on supercomputers > 06.05.2015

Page 9: Dünnbesetzte Eigenwertlöser auf Heterogenen Supercomputern

• Eine Matrix A beschreibt einen Zustandsübergang

Dünnbesetzte Matrizen

www.DLR.de • Folie 9 > T-Systems HPCn Workshop SC 2015 > Jonas Thies • sparse solvers on supercomputers > 06.05.2015

• Dünnbesetzte Matrizen haben

„so wenige nicht-Null Einträge, daß es sich

lohnt, diese Eigenschaft auszunutzen“

Spin-Kette von N Elektronen (2N mögliche Zustände)

Beispiel Quantenmechanik

Page 10: Dünnbesetzte Eigenwertlöser auf Heterogenen Supercomputern

Lineare Eigenwertprobleme

• Eine Matrix A beschreibt einen Zustandsübergang • ihre Eigenwerte 𝛌𝛌 und Eigenvektoren x beschreiben die dynamischen

Eigenschaften eines Systems:

𝐀𝐀x = 𝜆𝜆x

Eigenwerte und –vektoren sind wertvoll in der Praxis, z.B. Energieniveaus von Quantensystemen:

𝐇𝐇𝜓𝜓 = 𝐸𝐸 𝜓𝜓 (Schrödinger Gleichung)

www.DLR.de • Folie 10 > T-Systems HPCn Workshop SC 2015 > Jonas Thies • sparse solvers on supercomputers > 06.05.2015

Page 11: Dünnbesetzte Eigenwertlöser auf Heterogenen Supercomputern

Phys. Chemie, Elektronen- struktur

Anwendungen dünnbesetzter Eigenwertprobleme

www.DLR.de • Folie 11 > T-Systems HPCn Workshop SC 2015 > Jonas Thies • sparse solvers on supercomputers > 06.05.2015

Stromnetze Vibrationen

Stabilitäts- analyse (z.B. CFD)

newscenter.lbl.gov/2014/12/19/better-electrolyte-for-lithium-ion-batteries/

www.ssd-zt.at/en/civil-engineering/bridge-constructions.php

www.mhhe.com/engcs/electrical/hkd/tutorials/Tut9-1.htm

idac.co.uk/products/products/cfx.htm

Page 12: Dünnbesetzte Eigenwertlöser auf Heterogenen Supercomputern

Wie berechnet man Eigenwerte?

www.DLR.de • Folie 12 > T-Systems HPCn Workshop SC 2015 > Jonas Thies • sparse solvers on supercomputers > 06.05.2015

• Eigen-Information wird aus Matrix-Vektor Operationen extrahiert

Beispiel: Krylov Methoden konstruieren eine orthogonale Basis für die „Power Vektoren“, z.B. Lanczos Algorithmus

Page 13: Dünnbesetzte Eigenwertlöser auf Heterogenen Supercomputern

Grundoperation: Dünnbesetztes Matrix-Vektor Produkt

18/02/2015 | Large-Scale CPU-GPU KPM | Moritz Kreutzer | COSSE Workshop

Dominante Operation in vielen iterativen Methoden Speicherbedarf: Nnz Elemente der Matrix und Vektoren x,y der Länge Nr “Sparse”: Nnz ~ Nr Speichergebundene Operation

Benötigt i.A. indirekte Adressierung bzw. Kommunikation

= + • Nr

Page 14: Dünnbesetzte Eigenwertlöser auf Heterogenen Supercomputern

Algorithmen im ESSEX Projekt

www.DLR.de • Folie 14 > T-Systems HPCn Workshop SC 2015 > Jonas Thies • sparse solvers on supercomputers > 06.05.2015

DLR

Simulations- und Softwaretechnik

Page 15: Dünnbesetzte Eigenwertlöser auf Heterogenen Supercomputern

Übersicht

• Aktuelle Herausforderungen für High-End HPC

• Eigenwertprobleme: Anwendungen und Algorithmen

• Technologie: MPI+X, Fehlertoleranz, Nodelevel Performance

• Software Entwicklungen: GHOST und PHIST

• Fallbeispiele und Zusammenfassung

www.DLR.de • Folie 15 > T-Systems HPCn Workshop SC 2015 > Jonas Thies • sparse solvers on supercomputers > 06.05.2015

Page 16: Dünnbesetzte Eigenwertlöser auf Heterogenen Supercomputern

• MPI Flat + Off-loading

• Runtime (z.B. MAGMA, OmpSs)

• Dynamisches Scheduling von kleinen Tasks (gutes Load Balancing)

• Kokkos (Trilinos)

• Hoher Grad an Abstraktion (C++11)

• MPI+X Ansatz in GHOST (ESSEX) • X: OpenMP, CUDA, SIMD Intrinsics, z.B. AVX • Tasking für größere asynchrone Aufgaben

(funktionale Parallelität) • Experten implementieren benötigte Kernel

Programmiermodelle für heterogene HPC Systeme

www.DLR.de • Folie 16 > T-Systems HPCn Workshop SC 2015 > Jonas Thies • sparse solvers on supercomputers > 06.05.2015

Page 17: Dünnbesetzte Eigenwertlöser auf Heterogenen Supercomputern

Bei über 100 000 Knoten mit verschiedenen Komponenten (CPU, GPU, Bus, Speicher, …) ist die mittlere Laufzeit bis zu einem Ausfall (mean time to failure) oft kürzer als die Laufzeit einer großen Simulation. Den komplettten Job neu zu starten kostet viel Zeit, selbst wenn Zwischenergebnisse gespeichert wurden, von denen aus “weitergerechnet” werden kann.

Hardware-Defekte überstehen

www.DLR.de • Folie 17 > T-Systems HPCn Workshop SC 2015 > Jonas Thies • sparse solvers on supercomputers > 06.05.2015

Overhead für Recovery ca 18 Sek. (+ zu wiederholende Berechnungen)

• Anwendung schreibt asynchron „Checkpoints“ (CP)

• auf einer lokalen Platte • auf dem Nachbarknoten

• Dedizierter Prozess führt „Health

Checks” (HC) aller Knoten durch (GASPI/GPI statt MPI)

• Wenn ein Knoten ausfällt:

• Pool von Ersatzprozessen • „Rollback“ zum letzten

Checkpoint

Page 18: Dünnbesetzte Eigenwertlöser auf Heterogenen Supercomputern

• Daten nutzen, während sie im L1 Cache sind • Beispiel: berechne (mit x,y,z großen Vektoren und A einer Matrix)

𝐳𝐳 = 𝐲𝐲 + 𝜶𝜶𝐀𝐀𝐀𝐀, 𝒄𝒄𝟏𝟏 = 𝐀𝐀 𝟐𝟐 , 𝒄𝒄𝟐𝟐 = 𝐀𝐀𝐀𝐀 𝟐𝟐 Mit einzelnen Kerneln (z.B. sparse BLAS)

𝐭𝐭 = 𝐀𝐀x, z = y + 𝛼𝛼t, 𝑐𝑐1 = x 2 , 𝑐𝑐2 = t 2

• mindestens 5 Vektoren werden aus dem Speicher geladen

• In einer einzigen (komplexeren) Funktion: • mindestens 2 Vektoren werden geladen

Optimierung 1: Kernel Fusion

www.DLR.de • Folie 18 > T-Systems HPCn Workshop SC 2015 > Jonas Thies • sparse solvers on supercomputers > 06.05.2015

Page 19: Dünnbesetzte Eigenwertlöser auf Heterogenen Supercomputern

Optimierung 2: Blockvektor Operationen

www.DLR.de • Folie 19 > T-Systems HPCn Workshop SC 2015 > Jonas Thies • sparse solvers on supercomputers > 06.05.2015

• Jacobi-Davidson: spMVM gefolgt von Projektion, (I − 𝑄𝑄𝑄𝑄𝑇𝑇)(𝐀𝐀 − 𝜎𝜎I)x • prinzipiell bessere Datenlokalität wenn x mehrere Spalten hat (SpMMVM) • Weniger Synchronisationspunkte/Nachrichten

Tpetra (Trilinos) GHOST (Naiv) GHOST (row-major)

Page 20: Dünnbesetzte Eigenwertlöser auf Heterogenen Supercomputern

Beispiel: KPM Algorithmus auf Heterogenem Knoten

18/02/2015 | Large-Scale CPU-GPU KPM | Moritz Kreutzer | COSSE Workshop

SNB: Intel Xeon Sandy Bridge, K20X: Nvidia Tesla K20X Komplexe (Double Precision) Matrix/Vektoren (topologischer Isolator)

Page 21: Dünnbesetzte Eigenwertlöser auf Heterogenen Supercomputern

Performance Engineering

• Testen der Implementation in erster Linie gegen die Theorie

• Für Speichergebundene Operationen: Roofline Modell

• SpMVM: unregelmäßiger Speicherzugriff

• Parametrisiertes Modell • Performance Counter nutzen

(z.B. LIKWID Tool) um tatsächliches Datenvolumen zu messen

www.DLR.de • Folie 21 > T-Systems HPCn Workshop SC 2015 > Jonas Thies • sparse solvers on supercomputers > 06.05.2015

Page 22: Dünnbesetzte Eigenwertlöser auf Heterogenen Supercomputern

March

22 Optimizing the Performance of the KPM on Heterogeneous Systems | M. Kreutzer | Exascale15

Ω = 𝐴𝐴𝐴𝐴𝐴𝐴𝐴𝐴𝐴𝐴𝐴𝐴 𝑑𝑑𝐴𝐴𝐴𝐴𝐴𝐴 𝐴𝐴𝑡𝑡𝐴𝐴𝑡𝑡𝑡𝑡𝑡𝑡𝑡𝑡𝑡𝑡𝑡𝑡𝑀𝑀𝑀𝑀𝑡𝑡𝑀𝑀𝑀𝑀𝐴𝐴𝑀𝑀 𝑑𝑑𝐴𝐴𝐴𝐴𝐴𝐴 𝐴𝐴𝑡𝑡𝐴𝐴𝑡𝑡𝑡𝑡𝑡𝑡𝑡𝑡𝑡𝑡𝑡𝑡

Woher die Abnahme?

Roofline Analyse für spMMVM

Page 23: Dünnbesetzte Eigenwertlöser auf Heterogenen Supercomputern

Übersicht

• Aktuelle Herausforderungen für High-End HPC

• Eigenwertprobleme: Anwendungen und Algorithmen

• Technologie: MPI+X, Fehlertoleranz, Nodelevel Performance

• Software Entwicklungen: GHOST und PHIST

• Fallbeispiele und Zusammenfassung

www.DLR.de • Folie 23 > T-Systems HPCn Workshop SC 2015 > Jonas Thies • sparse solvers on supercomputers > 06.05.2015

Page 24: Dünnbesetzte Eigenwertlöser auf Heterogenen Supercomputern

Software aus dem ESSEX Projekt

General, Hybrid, and Optimized Sparse Toolkit

• MPI + OpenMP + SIMD + CUDA • Dünnbesetzte Matrix-(Block-)Vektor-Multiplikation • Dichtbesetzte Block-Vektoroperationen • (Einfache) Task-Queue für funktionale Parallelität • Asychrones Checkpoint-Restart

Status: Experimentell (für „HPC affine“ C Programmierer)

http://bitbucket.org/essex/ghost

BSD Lizenz

www.DLR.de • Folie 24 > T-Systems HPCn Workshop SC 2015 > Jonas Thies • sparse solvers on supercomputers > 06.05.2015

Page 25: Dünnbesetzte Eigenwertlöser auf Heterogenen Supercomputern

Software aus dem ESSEX Projekt

www.DLR.de • Folie 25 > T-Systems HPCn Workshop SC 2015 > Jonas Thies • sparse solvers on supercomputers > 06.05.2015

PHIST Pipelined Hybrid-parallel Iterative Solver Toolkit • Iterative Löser für dünnbesetzte Matrizen

• Eigenwertprobleme: Jacobi-Davidson, FEAST • Lineare Gleichungssysteme (LGS): GMRES, MINRES, CARP-CG

• Einfaches funktionales Interface (C, Fortran, Python) • Pipelining: Algorithmen für optimale Performance formuliert • verschiedene Möglichkeiten der Einbindung in Anwendungen

Status: umfangreiches Testframework, teils experimentell

http://bitbucket.org/essex/phist

BSD Lizenz

Page 26: Dünnbesetzte Eigenwertlöser auf Heterogenen Supercomputern

Wahl der “Kernel Bibliothek” )nur Benötigte Flexibilität

gering mittel hoch

Einbindung von PHIST in Ihre Anwendung

www.DLR.de • Folie 26 > T-Systems HPCn Workshop SC 2015 > Jonas Thies • sparse solvers on supercomputers > 06.05.2015

Kein einfacher Zugriff auf Matrix Elemente

PHIST „builtin“ Nur CPU F‘03+OpenMP CRS Format

Versch. Arch. Große C++ Code Base

Eigene Datenstrukturen Adapter ca 1000 Zeilen Code

Hardware-Nähe

Page 27: Dünnbesetzte Eigenwertlöser auf Heterogenen Supercomputern

Zweiseitige Interoperabilität von PHIST und Trilinos

www.DLR.de • Folie 27 > T-Systems HPCn Workshop SC 2015 > Jonas Thies • sparse solvers on supercomputers > 06.05.2015

ESSEX Projekt

PHIST

-------------------------------- PHIST builtin

Projekt

Anasazi (Eigenwerte) Belos (LGS)

--------------------------------- Epetra Tpetra

Iterative Löser ------------------------- Grundoperationen

C Wrapper

“Can Use”

Page 28: Dünnbesetzte Eigenwertlöser auf Heterogenen Supercomputern

Übersicht

• Aktuelle Herausforderungen für High-End HPC

• Eigenwertprobleme: Anwendungen und Algorithmen

• Technologie: MPI+X, Fehlertoleranz, Nodelevel Performance

• Software Entwicklungen: GHOST und PHIST

• Fallbeispiele und Zusammenfassung

www.DLR.de • Folie 28 > T-Systems HPCn Workshop SC 2015 > Jonas Thies • sparse solvers on supercomputers > 06.05.2015

Page 29: Dünnbesetzte Eigenwertlöser auf Heterogenen Supercomputern

CARP-CG: Schwache Skalierung bis 5.1Mrd Unbekannte • Zwei Varianten einer „row

projection“ Methode • Variante OpenMP nicht voll

optimiert, aber offensichtlich speicher-effizienter

• Anwendung: „schwierige“ lineare Gleichungsysteme, z.B.

• Helmholtz Gleichungen • Konvektionsdominierte

Strömungen • Innere Eigenwertprobleme • Least Squares Probleme

www.DLR.de • Folie 29 > T-Systems HPCn Workshop SC 2015 > Jonas Thies • sparse solvers on supercomputers > 06.05.2015

Beispiel: Graphene

Page 30: Dünnbesetzte Eigenwertlöser auf Heterogenen Supercomputern

Spinkette 3D Konvektion-Diffusion

Block Jacobi-Davidson, Starke Skalierung

www.DLR.de • Folie 30 > T-Systems HPCn Workshop SC 2015 > Jonas Thies • sparse solvers on supercomputers > 06.05.2015

Page 31: Dünnbesetzte Eigenwertlöser auf Heterogenen Supercomputern

KPM, Skalierung auf heterogenem System

www.DLR.de • Folie 31 > T-Systems HPCn Workshop SC 2015 > Jonas Thies • sparse solvers on supercomputers > 06.05.2015

CRAY XC30 (Piz Daint*)

• 5272 Rechenknoten mit jeweils

• 1x 8-Kern Intel Sandy Bridge

• 1x Nvidia Kepler K20x

• Peak: 7.8 Pflop/s • System mit höchster

Performanz in Europa

*Thanks to CSCS/O. Schenk/T. Schulthess for granting access and compute time

Page 32: Dünnbesetzte Eigenwertlöser auf Heterogenen Supercomputern

Zusammenfassung

• Skalierbarkeit fängt nicht erst bei einer CPU an • ---------------und PHIST implementieren ein pragmatisches,

Hardware-nahes Programmiermodell für heterogene Systeme

• Software mittels Performance Modellen verifiziert

• erhöhte Rechenintensität durch Blocking und Kernel Fusion

• ermöglicht ausfallsichere Anwendungen

• OpenSource: http://bitbucket.org/essex

www.DLR.de • Folie 32 > T-Systems HPCn Workshop SC 2015 > Jonas Thies • sparse solvers on supercomputers > 06.05.2015

Page 33: Dünnbesetzte Eigenwertlöser auf Heterogenen Supercomputern

Vielen Dank für ihre Aufmerksamkeit!

www.DLR.de • Folie 33

Fragen? Dr. Jonas Thies Simulations- und Softwaretechnik Abt. Verteilte Systeme und Komponentensoftware [email protected] http://www.DLR.de/sc Dank an

Melven Röhrig-Zöllner (DLR) Moritz Kreutzer und Faisal Shahzad (RRZE)

> T-Systems HPCn Workshop SC 2015 > Jonas Thies • sparse solvers on supercomputers > 06.05.2015