MIN117: High Performance Computing
Kernmodule
MIN117: High Performance Computing
Prof. Dr. Nils Kopal
- Prof. Dr. Nils Kopal
- Prof. Dr. Jens Brandt
- Prof. Dr. Steffen Goebbels
Master Informatik
Informatik
Deutsch
Wintersemester
1 Semester
5 ECTS
Deutsche Notenskala 1-5
4SL
High Performance Computing
Programmierkenntnisse in C, mathematische Grundlagen (Lineare Algebra), Grundlegendes Verständnis von Parallelität
WAS
Mit erfolgreichem Abschluss des Moduls sind die Studierenden in der Lage, Algorithmen der Numerik zu parallelisieren und auf Prozessen, Threads und GPUs zu implementieren. Sie können den Einfluss der Parallelisierung auf Laufzeit und Speicherbedarf analysieren und die Konzepte parallelen Rechnens auf neue Problemstellungen übertragen.
WOMIT
Die Studierenden erreichen dieses Lernergebnis, indem sie
- in einer anwendungsorientierten Arbeitsweise die Grundlagen des verteilten Rechnens kennenlernen und bewerten.
- Algorithmen der Numerik parallelisieren und unter Verwendung von GPUs und/oder Open MPI implementieren.
- den Einfluss der Parallelisierung auf Laufzeit und Speicherbedarf analysieren.
- Ergebnisse zielgruppengerecht dokumentieren und präsentieren.
WOZU
Die Studierenden nutzen diese Kompetenzen, um rechenintensive Algorithmen auf paralleler Hardware zu implementieren. Sie erlangen grundlegende Kenntnisse über Verfahren des Scientific Computing, die in entsprechenden Projekten genutzt werden können. Darüber hinaus sind die Studierenden in der Lage, die Konzepte der parallelen Programmierung auch auf Aufgabenstellungen außerhalb der Numerik anzuwenden.
- Architektur paralleler Systeme
- Design paralleler Algorithmen
- Parallelisierung mittels Prozessen und Threads, Kommuniketion über Shared Memory (Open MP) und Messaging (Open MPI)
- Verwendung von GPUs zum parallelen Rechnen (CUDA/OpenCL)
- Anwendung auf Verfahren der linearen Algebra (Matrixmultiplikation, Lösen von Gleichungssystemen, schnelle Fourier-Transformation)
Erfolgreiche Implementierung und Erklärung von parallelen Beispiel-Algorithmen.
Mündliche Prüfung (45 Minuten).
- George Karniadakis, Robert M. Kirby: Parallel Scientific Computing in C++ and MPI. Cambridge University Press, 2003
- Gene H. Golub, James M. Ortega: Scientific Computing - An Introduction with Parallel Computing. Academic Press, 2014
- Efstratios Gallopoulos, Bernard Philippe, Ahmed H. Sameh: Parallelism in Matrix Computations, Springer, 2015
- Michael Quinn: Parallel Programming in C with MPI and OpenMP. McGraw-Hill, 2003
- Peter Pacheco: Parallel Programming with MPI. Morgan Kaufmann, 1996