Winter semester 2025/2026

The content on this page was translated automatically.

The entire organization of the courses takes place via the Moodle learning platform. If you would like to take part in one of the courses listed below, please register for the relevant Moodle course.

The course begins with an introduction to the subject matter, areas of application and basic concepts of parallel computing. We cover design techniques for parallel algorithms (e.g. parallel divide-and-conquer) as well as general requirements for the design of efficient programs (e.g. cache optimization).

Basic knowledge of parallel programming is then taught in the main part using three exemplary programming systems:

- OpenMP for computers with shared memory,
- OpenMP Offloading for GPUs and
- MPI for computers with distributed memory.

Two practical sections are integrated into the course, in which the participants solve programming tasks in teams of two. The results are then presented in examination discussions and form the basis for the assessment of the course.

 

Lecturer
Dr. Jonas PosnerProf. Dr. Claudia Fohry
M.Sc. Rüdiger Nather

 

Further information, including the lecture dates, can be found in the course catalog and in the Moodle course.

If you have any further questions, please contact Dr. Jonas PosnerProf. Dr. Claudia Fohry and M.Sc. Rüdiger Nather will be happy to answer them.

The course covers a selection of parallel algorithms for various problems and architecture classes. Techniques for the design and analysis of parallel algorithms will be taught and practiced. First, we get to know two models for computers with shared memory and discuss their advantages and disadvantages: the Parallel Random Access Machine (PRAM) and the Binary Forking model (BF). Then, basic design techniques are taught using simple problems (e.g. convex hull, maximum computation).

The second part concentrates on clusters and algorithms that can be implemented using MPI or node-internal OpenMP. Depending on the prior knowledge and interest of the participants, implementation is also part of the course in addition to analysis. The algorithms covered range from regular algorithms for matrix calculations to parallel optimization methods and parallel graph algorithms. Finally, algorithms for special scenarios may be addressed: fault-tolerant parallel algorithms and efficient algorithms for memory hierarchies.

The material is taught in lectures with integrated exercises and discussions. Active participation is expected and grades are awarded on the basis of a project paper with a final examination. The focus of the project is the development of efficient algorithms. These should also be analysed with regard to their runtime and, if the participants have the relevant prior knowledge, implemented and evaluated experimentally. The course complements the courses "Introduction to Parallel Processing" (Bachelor) and "Parallel Programming" (Master), but can also be taken without prior knowledge of parallel programming.

Lecturer:in
Prof. Dr. Claudia Fohry

Further information, including the lecture dates, can be found in the course catalog and in the Moodle course and course catalog.

If you have any questions, Prof. Dr. Claudia Fohry will be happy to answer them.

In this course, students learn functional programming using the Haskell language as an example. The language constructs covered range from basics such as functions and lists, data types and evaluation strategies to advanced aspects such as monads and parallelization. The constructs are explained and their use discussed. In addition to Haskell, a brief insight into other functional languages will be given.

The course is held in the form of a lecture with integrated exercises. In the first few weeks, homework is also compulsory. Grades are awarded on the basis of project work, which is carried out in teams of two in the final weeks. The project work is concluded with a defense in which the developed programs are presented and further topics of the lecture are addressed.

Lecturer
Prof. Dr. Claudia Fohry
M.Sc. Rüdiger Nather

 

Further information, including the lecture dates, can be found in the course catalog and in the Moodle course.

If you have any questions, Prof. Dr. Claudia Fohry and Mr. Rüdiger Nather will be happy to answer them.