Summer semester 2025

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 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.

 

Study program
Bachelor of Computer Science

Scope
4 SWS (6 credits)

 

Further information, including the lecture dates, can be found in the course catalog and in the Moodle course. If you have any questions, Dr. Jonas Posner and M.Sc. Rüdiger Nather will be happy to answer them.

The course initially covers the established programming systems OpenMP and MPI in greater depth than in the Bachelor's program. The focus will be on advanced language constructs such as OpenMP tasks, MPI communicators and hybrid MPI/OpenMP programming. We discuss the use of the constructs using example applications. The focus is on the design goals of performance and scalability. Some more complex synchronization problems will also be discussed.

In the second part of the course, current parallel programming systems will be presented and compared with established systems. Typical approaches of these systems are the Partitioned Global Address Space (PGAS) and the Asynchronous Many-Task programming AMT. Individual languages are learned and tested, e.g. Chapel and Cilk. The course ends with an insight into the programming of quantum computers. These are likely to become relevant in the future as components of supercomputers for some application classes.

Previous knowledge from Introduction to Parallel Processing is an advantage for attending the course, but is not essential. The course is divided into a lecture and a practical part. The practical part includes the development of programs with the programming systems covered. You will typically work in teams of two during the internship. The work placement, together with a final discussion, forms the basis for the assessment of the course.

 

Study program
Master Computer Science

Scope
4 SWS (6 credits)

 

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 M.Sc. Rüdiger Nather will be happy to answer them.

By using different physical principles than those used in today's computers, quantum computers offer potential for significantly more efficient calculation of suitable problems. Although the first machines, programming interfaces and applications are now available, the field is still in its infancy.

In the seminar, we will work together on basic topics such as the fundamental functioning of quantum computers; examples of algorithms, programming interfaces and applications; and the current status of the field. The focus is on the use of quantum computing to solve computer science problems, while physical principles play a subordinate role.

Each participant will explore a topic from the scientific literature or online sources such as tutorials and present it in a talk and a written paper. Improving the presentation style, including through mutual feedback, is a key objective of the seminar.

 

Study program
Bachelor and Master Computer Science

Scope
2 SWS (3 credits)

 

Further information, including the course dates, can be found in the Bachelor's and Master's course catalog and in the Moodle course. If you have any questions, Prof. Dr. Claudia Fohry will be happy to answer them.