Winter semester 2020/2021

The content on this page was translated automatically.

Due to the corona pandemic, the start of the winter semester 2020/2021 has been postponed to November 1, 2020 and we are offering our courses exclusively digitally.

The entire organization of the courses takes place via the learning platform Moodle. If you would like to take part in one of the events listed below, please register for the corresponding Moodle courses, you will find the corresponding link directly at the respective event.

Further information from the University of Kassel on dealing with the corona virus can be found here.

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

In the main part of the course, basic knowledge of parallel programming is then taught using three exemplary programming systems:

  • OpenMP for computers with shared memory,
  • APGAS for Java" for computers with distributed or hybrid memory and
  • CUDA for GPUs.

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.

The course replaces the previous courses PV1 and PV2.

Study program
Bachelor of Computer Science

Scope
4 SWS (6 CP)

Mr. M.Sc. Jonas Posner and Mr. M.Sc. Lukas Reitz will be happy to provide you with further information.

Further information on the course can be found in the course catalog (will be updated on 07.09.2020) and on the Moodle learning platform.

The traditional parallel programming systems MPI and OpenMP are increasingly criticized for their high program development costs and limited portability. Accordingly, various alternatives have been proposed in recent years and decades. Many of these follow a task-based approach, i.e. the calculation is not described by processes/threads, but by tasks. These are largely self-contained sub-programs, the number of which is selected according to the specific application. The tasks are automatically mapped to the processes and threads by a runtime system. Depending on the programming system, dependencies between tasks, their internal parallel execution and other options are possible.

In the seminar, the participants will each present a task-based parallel programming system. They will learn about the functionality from the literature, possibly supplemented by experiments with their own programs. Example systems are Cilk, Chapel, StarPU, COMPSs, Charm4py and Intel TBB.

Study program
Bachelor and Master Computer Science

Scope
2 SWS (4 CP)

For further information please contact Mr. M.Sc. Jonas Posner and Mr. M.Sc. Lukas Reitz.

Further information on the course can be found in the course catalog for Bachelor and course catalog for Master (will be updated on 07.09.2020) as well as on the learning platform Moodle.

In this project, students work in groups of two to independently implement one or two predefined tasks in the field of parallel programming. These tasks are the same for all groups, but each group uses a different parallel programming system. There are various systems to choose from, for example Legion, Chapel, Julia and CompsS. The requirements include the theoretical development of a parallel algorithm, implementation and testing on the cluster at the University of Kassel. At the end, all groups present their results and experiences, which are then discussed.

Study program
Bachelor and Master Computer Science

Scope
Bachelor 8 SWS (12 CP)
Master 2 SWS (4 CP)

For further information please contact Mr. M.Sc. Jonas Posner.

Further information on the course can be found in the course catalog for Bachelor and course catalog for Master (will be updated on 07.09.2020) as well as on the learning platform Moodle.