The lecture deals with the parallelization on cluster computers. Distributed-memory programming concepts (MPI) are introduced and best-practice implementation is presented based on applications from scientific computing including the finite element method and machine learning.
Special attention is paid to scalable solvers for systems of equations on distributed-memory systems, focusing on iterative schemes such as simple splitting methods (Richardson, Jacobi, Gauß-Seidel, SOR), Krylov-methods (Gradient descent, CG, BiCGStab) and, in particular, the multigrid method. The mathematical foundations for iterative solvers are reviewed, suitable object-oriented interface structures are developed and an implementation of these solvers for modern parallel computer architectures is developed.
Numerical experiments and self-developed software implementations are used to discuss and illustrate the theoretical results.
- Kursleiter/in: Manuel Saberi
- Kursleiter/in: Andreas Vogel