Parallel Computing
Parallel Rechnen
6 CPWinterEN
Prerequisites
Recommended, as written
• Initial experience in programming with C, C++ or Fortran
Contents
Hardware for parallel computing from a notebook to a massive parallel cluster. (Processing concepts: Pipelining, Functional Parallelism, Multithreading, Shared Memory, Distributed Memory, Memory access concepts). Programming with OpenMP, MPI and use of parallized libraries (e.g. LAPACK). The basics of parallel programming will be instructed by means of generic examples. The participants will introduce examples of numerical simulations from their natural science or their engineering context and work on them in small groups. These examples will be analyzed on their potential for parallelization.
Learning outcomes
After successful completion of the course, you should know the basic concepts of parallel computing concerning programming (software) and hardware architecture. You should be able to implement numerical simulations from Computational Physics, CFD, and Image Processing. The own notebook with SMP CPU, BTU computing devices with SMP CPUs, the massiv parallel computer cluster of the BTU, and the resources of the North German Supercomputing Alliance (Norddeutscher Verbund für Hoch- und Höchstleistungsrechnen – HLRN) can be used for this purpose. Sequential algorithms can be analyzed on their potential for parallelization.
Assessment
• 2-3 successful programming exercises (50 %) • intermediate and final presentation (approx. 15 min.) of results (25 %) • documentation of results (source code and 3-5 pages of explanation) (25 %)
Literature (2)
- Text books on OpenMP and MPI.
- Tutorials and manuals introducing Unix, OpenMP and MPI will be provided online.
Source: BTU's module description · retrieved 29 Sep 2026Original