EN

Modul

Numerische Lineare Algebra für das wissenschaftliche Rechnen auf Hochleistungsrechnern [M-MATH-103709]

Leistungspunkte
5
Turnus
Unregelmäßig
Dauer
1 Semester
Sprache
Englisch
Level
4
Version
2

Verantwortung

Einrichtung

  • KIT-Fakultät für Mathematik

Bestandteil von

Teilleistungen

Identifier Name LP
T-MATH-107497 Numerische Lineare Algebra für das wissenschaftliche Rechnen auf Hochleistungsrechnern 5

Erfolgskontrolle(n)

Die Erfolgskontrolle erfolgt in Form von Übungsblättern, eines Projektvortrags von mindestens 30 Minuten Dauer und Evaluation der schriftlichen Ausarbeitung.

Qualifikationsziele

Absolventinnen und Absolventen kennen die grundlegenden Konzepte wie numerische lineare Algebra auf parallelen Computerarchitekturen realisiert wird. Sie können numerische Verfahren parallelisieren und auf modernen Multi-und Manycoresystemen implementieren. Absolventinnen und Absolventen sind in der Lage

  • die Standard-Algorithmen im wissenschaftlichen Rechnen zu verstehen (LU, QR, Cholesky Zerlegungen, Eigenwertlöser, SVD Iterative Verfahren: Krylov, Mehrgitter, Gebietszerlegungsmethoden).
  • Parallelität in Algorithmen zu erkennen.
  • Standard-LA-Bibliotheken zu verwenden (BLAS, LAPACK, MKL).
  • OpenMP-parallelen Code zu schreiben.
  • Numerische Verfahren mit Hilfe von Grafikkarten oder anderen Coprozessoren zu beschleunigen.
  • ein eigenes Projekt zu parallelisieren, implementieren, dokumentieren, und in einer Projektpräsentation vorzustellen.

Voraussetzungen

Keine

Inhalt

  • BLAS Operationen
  • LAPACK
  • LU Zerlegung
  • Cholesky Zerlegung
  • QR Zerlegung
  • Fix-Punkt Iterationen (linear, bi-linear)
  • Krylov Verfahren
  • ILU Vorkonditionierung
  • Finite Differenzen (Laplace)
  • Domain Decomposition Methods (Additive/Multiplicative Schwarz)
  • Speedup, Moore’s Law, Amdahl’s Law
  • Shared Memory / Distributed Memory
  • Bulk-Synchronous Programming Model (BSP)
  • Synchroniztion, Mutex, One-sided-Communication
  • OpenMP, Fork-Join Model, Private/Public Variables, Map-Reduce, Scheduling
  • Performance Modeling, Roofline Model
  • MPI
  • CUDA (GPU programming)

Empfehlungen

Kenntnisse in einer höheren Programmiersprache (C/C++, Java, Fortran).
Gute Kenntnisse in Numerik und Lineare Algebra.

Arbeitsaufwand

Gesamter Arbeitsaufwand: 150 Stunden

Präsenzzeit: 60 Stunden

  • Lehrveranstaltung mit Übungeneinschließlich studienbegleitender Modulprüfung

Selbststudium: 90 Stunden

  • Vertiefung der Studieninhalte durch häusliche Nachbearbeitung des Vorlesungsinhaltes
  • Bearbeitung von Übungsaufgaben
  • Bearbeitung studienbegleitender Projektarbeit
  • Vertiefung der Studieninhalte anhand geeigneter Literatur und Internetrecherche
  • Vorbereitung auf die studienbegleitende Modulprüfung