# Parallel Computing in Theory and Practice

**PD Dr. Mathias J. Krause**

**Dr. Stephan Simonis**

**Current information regarding the Wintersemester 2024: here.**

Modern computer hardware is massively and heterogeneously parallel. Only parallel algorithms enable us to take advantage of the exponentially increasing compute power. Therefore, parallel computing is the dominant paradigm to perform simulations of realistic phenomena in economics, natural and engineering sciences. Thus, novel physical insights, ground truth simulations or large-scale predictions are only achieved with highly efficient, massively parallel algorithms.

**Topics covered in this course:**

- Parallel programming models
- Parallel solving of linear equation systems
- Parallel finite elements, finite volumes finite differences, lattice Boltzmann methods
- Methods of domain decomposition
- Parallel matrix-matrix and matrix-vector operations
- Convergence and (parallel) cost analysis
- Load balancing strategies
- Applications in natural and engineering sciences

The lecture has an introductory character and only requires previous knowledge of one of the

following programming languages: C, Fortran, C++. It is particularly suitable for the master's

programs in chemical engineering and mathematics.