Advanced Parallel Programming with MPI and OpenMP

Research & Science
Advanced Parallel Programming with MPI and OpenMP


The course language is English. (Modified on Sep. 6, 2017)

The focus is on advanced programming with MPI and OpenMP. The course addresses participants who have already some experience with C/C++ or Fortran and MPI and OpenMP, the most popular programming models in high performance computing (HPC).

The course will teach newest methods in MPI-3.0/3.1 and OpenMP-4.5, which were developed for the efficient use of current HPC hardware. Topics with MPI are the group and communicator concept, process topologies, derived data types, the new MPI-3.0 Fortran language binding, one-sided communication and the new MPI-3.0 shared memory programming model within MPI. Topics with OpenMP are the OpenMP-4.0 extensions, as the vectorization directives, thread affinity and OpenMP places. (The GPU programming with OpenMP-4.0 directives is not part of this course.) The course also contains performance and best practice considerations, e.g., with hybrid MPI+OpenMP parallelisation. The course ends with a section presenting tools for parallel programming.

Hands-on sessions (in C and Fortran) will allow users to immediately test and understand the taught constructs of the Message Passing Interface (MPI) and the shared memory directives of OpenMP. This course provides scientific training in Computational Science, and in addition, the scientific exchange of the participants among themselves. It is organized by JSC in cooperation with HLRS. (Content Level: 20% for beginners, 50% intermediate, 30% advanced)


A detailed program can be found here (PDF) (preliminary)


Unix / C or Fortran / familiar with the principles of MPI, i.e., point-to-point message passing, data types, nonblocking communication, collective communication / familiar with OpenMP 3.0


 Dr. Rolf Rabenseifner (Stuttgart) and JSC scientists for the tools session on the third day.


The course language is English.


Each participant will get a paper copy of all slides.
The MPI-1 part of the course is based on the MPI course developed by the EPCC Training and Education Centre, Edinburgh Parallel Computing Centre.
If you want, you may also buy copies of the standards MPI-3.1 (Hardcover, 17 Euro) and OpenMP (about 12 Euro).
An older version of this course with most of the material (including the audio information) can also be viewed in the ONLINE Parallel Programming Workshop.


The course is nearly full. Therefore, we switched already to the waiting list. You may still register through the online registration form. Please book course 2017-JSC, but please take the automated confirmation email only for a reply that you are on the waiting list. As long as we still have free seats (currently two seats, Nov. 14, 2017 11am), we will manually send you an additional accept-email as fast as possible.

Extended Deadline with Late Registration

for registration is Nov. 12, 2017 (extended deadline).
Late registrations after the deadline are still possible but maybe with reduced quality of the handouts.


Members of German universities and public research institutes: none.
Members of universities and public research institutes within EU or PRACE member countries: 120 EUR.
Members of other universities and public research institutes: 240 EUR
Others: 600 EUR
(includes coffee breaks, will be collected on the first day of the course, cash only)


Travel Info Jülich

How to get to the Forschungszentrum Jülich and then, how to get to the JSC. The footpath from the entrance of the FZJ to the JSC (map) is about 500 meter; for the last 100 meters, there is a shortcut over the parking area directly to building 16.3. / Passport or a valid identification card containing a photo of yourself (e.g. Personalausweis) are needed at the reception. 

The next railway station is named "Jülich Forschungszentrum". Bus shuttle: BUS 219 can be used between the railway station "Jülich Forschungszentrum" and the "Forschungszentrum", BUS 220 can be used between Jülich and the "Forschungszentrum"; see schedule.

Accomodation: Stadhotel Jülich (this hotel is about 10 minutes from the BUS 220 station "Jülich Rathaus"), or see Official hotel list of Jülich.

Local Organizer

Thomas Breuer, phone 02461 61 96742,, course-page at JSC


Benedikt Steinbusch, phone 02461 61 2523,