3. Practical Course on Parallel Numerical Methods
The 3. practical course on parallel numerical methods took place from 28.03.2022 - 08.04.2022 at the chair of Parallel and Distributed Systems.
Course instructor: Thomas Rau (Chair of Scientific Computing)
Participants: Students of the master's program "Scientific Computing"
The programming lab course on Parallel Numerical Methods is one of the core modules of the master program "Scientific Computing". The goal of this interdisciplinary course is to link the contents of different lectures. For this purpose, the students implemented a C++ library for the parallel solution of large dimensional linear systems.
Organization
The focus of the course this year is programming with MPI. The schedule is as follows:
Time | Day 1 | Day 2 | Day 3 | Day 4 | Day 5 |
8:30 - 12:00 | Lecture: Sparse Numerics and Software Tools | Lecture: Programming and C++ Coding Practice | ILecture: Basics of Distributed and Parallel Programming Coding Practice | Lecture: MPI Coding Practice | Coding Practice |
12:00 - 13:30 | Lunch | Lunch | Lunch | Lunch | Lunch |
13:30 - 17:30 | Lecture: Programming and C++ Coding Practice | Coding Practice | Coding Practice | Coding Practice | Coding Practice |
Time | Day 6 | Day 7 | Day 8 | Day 9 | Day 10 |
10:00 - 12:00 | Lecture: Cluster and Slurm | Coding Practice | Coding Practice | Coding Practice | Coding Practice Presentation Preparation |
12:00 - 13:30 | Lunch | Lunch | Lunch | Lunch | Lunch |
13:30 - 17:30 | Coding Practice | Coding Practice | Coding Practice | Coding Practice | Coding Practice Presentation Preparation |
The time for the final presentations is April 11th from 9:00 am to 11:00 am.
Content
In this practical course, students implement manageable numerical problems (such as PCG method, finite element discretization of 2d Laplacian, etc.) on parallel computers using the programming language C/C++ and standard software libraries (LAPACK/BLAS, OpenMP, OpenMPI). The resulting parallel efficiency is observed depending on the chosen implementation (naive or advanced such as Schwarz methods).
Recommended Prerequisities
- A1: Numerical Methods for Differential Equations
- C1.3: Parallel and Distributed Systems I
- D1.1: Efficient Treatment of Non-local Operators
Grading
Implementation and presentation of approaches; active participation and discussion