Parallel Programming for Engineers
(in German: Parallel Programming for Engineers - )
Module-ID: FIN-INF-999959 |
| Link: | LSF |
| Responsibility: | Prof. Dr. Michael Kuhn |
| Lecturer: | Prof. Dr. Michael Kuhn |
| Classes: |
|
| Applicability in curriculum: |
|
Abbreviation PPE |
Credit Points 5 |
Semester Summer |
Term ab 1. |
Duration 1 Semester |
Language english |
Level Master |
Intended learning outcomes:
The participants...
- understand the hardware architectures of parallel computers
- optimize applications with regard to their performance
- understand important concepts for the parallelization of applications
- create parallel programs with different programming approaches in smaller teams
- present solutions and results to other participants
Content:
Parallel programming is becoming increasingly important, as even phones and laptops have several processor cores. Some supercomputers even consist of several million cores and have established themselves as a useful and indispensable tool for many areas of science. The resulting analyses and simulations have made it possible to significantly increase scientific insight in many areas.
However, the optimal use of these components is no easy task, which is why scientists are constantly faced with new challenges when developing efficient applications. A deeper understanding of the hardware and software environment as well as the possible causes of errors is therefore essential for parallel programming.
In the lecture, the basics of parallel programming are taught; the exercises serve the practical application and implementation of the acquired knowledge in the C programming language.
The lecture will cover some of the most important topics: Hardware and software concepts (multi-core processors, processes/threads, NUMA etc.), different approaches to parallel programming (OpenMP, POSIX threads, MPI) as well as tools for performance analysis and debugging (scalability, deadlocks, race conditions etc.). Moreover, reasons and solutions for performance problems are discussed and alternative approaches to parallel programming are presented. Examples and problems are illustrated using real scientific applications.
Workload:
- 56h contact hours
- 94h self study
| Type of examination: | Teaching method / lecture hours per week (SWS): |
|
|
| Prerequisites according to examination regulations: | Recommended prerequisites: |
|
keine |
|
| Media: | Literature: |
|
Comments: