EN
Modul
Numerische Lineare Algebra für das wissenschaftliche Rechnen auf Hochleistungsrechnern [M-MATH-103709]
Leistungspunkte
5Turnus
UnregelmäßigDauer
1 SemesterSprache
EnglischLevel
4Version
2Verantwortung
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