Modern supercomputers and the development of adapted parallel algorithms facilitate solution of problems within a few hours that would be unsolvable on desktop computers or would take weeks or months. Thus, simulation of complex phenomenons in natural and engineering sciences and corresponding parameter studies are enabled.

This lecture is treating basics of efficient utilization of parallel computers. Special focus is set to mathematical modelling and domain decomposition methods for the solution of partial differential equations. Hardware architectures and parallel programming paradigms and environments for systems with shared and distributed memory are introduced. For problem statements in numerical mathematics we show parallel data structures (e.g for tridiagonal and sparse matrizes) and parallel algorithms. In particular, we detail parallel solvers for linear systems of equations. Furthermore, we discuss methods for assessment of performance and recent developments in multi-core technologies (e.g. GPUs, FPGAs, Cell, Manycore).

This lecture is provoding an introduction to parallel computing. Necesarry requirements are basic knowledge in programming languages C or C++. In the accompanying exercises it is dealt with different problems on parallel computers by means of MPI, OpenMP and CUDA.

Interested candidates are requested to send an email to jan-philipp.weiss@kit.edu for signing up. This lecture may result in diploma or master's theses.