Parallel Programming Workshop (MPI, OpenMP and Advanced Topics)

Enterprises & SME Research & Science
Parallel Programming Workshop (MPI, OpenMP and Advanced Topics)

Overview

Distributed memory parallelization with the Message Passing Interface MPI (Mon, for beginners):
On clusters and distributed memory architectures, parallel programming with the Message Passing Interface (MPI) is the dominating programming model. The course gives an introduction into MPI-1. Hands-on sessions (in C and Fortran) will allow users to immediately test and understand the basic constructs of the Message Passing Interface (MPI).

Shared memory parallelization with OpenMP (Tue, for beginners):
The focus is on shared memory parallelization with OpenMP, the key concept on hyper-threading, dual-core, multi-core, shared memory, and ccNUMA platforms. This course teaches shared memory OpenMP parallelization. Hands-on sessions (in C and Fortran) will allow users to immediately test and understand the directives and other interfaces of OpenMP. Race-condition debugging tools are also presented.

Intermediate and advanced topics in parallel programming (Wed-Fri):
Topics are advanced usage of communicators and virtual topologies, one-sided communication, derived datatypes,  MPI-2 parallel file I/O, hybrid mixed model MPI+OpenMP parallelization, parallelization of explicit and implicit solvers and of particle based applications, parallel numerics and libraries, and parallelization with PETSc. MPI-3.0 introduced a new shared memory programming interface, which can be combined with MPI message passing and remote memory access on the cluster interconnect. It can be used for direct neighbor accesses similar to OpenMP or for direct halo copies, and enables new hybrid programming models. These models are compared in the hybrid mixed model MPI+OpenMP parallelization session with various hybrid MPI+OpenMP approaches and pure MPI. Further aspects are domain decomposition, load balancing, and debugging.

Hands-on sessions are included on all days. Most MPI exercises are (in addition to C and Fortran) also available for Python+mpi4py+numpy.

This course provides scientific training in Computational Science, and in addition, the scientific exchange of the participants among themselves.

Program
Program

see link to detailed program (preliminary program)

Prerequisites
Prerequisites

Unix / C or Fortran (or Python for the MPI part)

Language
Language

The course language is English.

Handouts
Handouts

Each participant will get a 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 14 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.

ON-SITE / COVID

On-site course & COVID rules

Although this event is a training course, another important aspect is the scientific exchange between participants, which did not work as well as we hoped in our online courses.

The concept to enable this communication among our participants consists of

  • common coffee and lunch breaks, and
  • if you want and permitted by COVID-19 rules in June, working together in groups of two during the exercises.

For your security, we allow only completely vaccinated, or fully recovered, or participants tested negatively on COVID-19 on all days. Note that participation with tests might be prohibited when the course starts or even while the course runs. In the course room and when not eating/drinking, FFP2 masks are required. See here for details (available when registration is open). Of course, these rules also apply to the instructors.

Registration soon

Registration

Registration will open soon.

Extended Deadline with Late Registration
Deadline

for registration is Sep. 23, 2022 (extended deadline).
Late registrations after the deadline are still possible but maybe with reduced quality of the handouts.

Fee
Fee

Students without Diploma/Master: 40 EUR
Students with Diploma/Master (PhD students) at German universities: 90 EUR
Members of German universities and public research institutes: 90 EUR
Members of universities and public research institutes within EU or PRACE member countries: 180 EUR.
Members of other universities and public research institutes: 360 EUR
Others: 960 EUR

The course fee includes coffee breaks (in classroom courses only).
The fee only applies if your application is accepted. In that case you will receive an invoice.

Organization

Travel Information and Accommodation

see our How to find us page. We strongly recommend to choose travel options and hotels with the possibility to cancel (even close to the event) because we might be forced to deliver the course as an online course.

Breaks

There will be several shorter breaks and a lunch break every day. Unfortunately, due to the COVID-19 pandemic, we can only offer water (carbonized and natural) and apple juice in single bottles in breaks but no coffee. If you would like to drink coffee you might bring it in a thermos yourself or you can go to a nearby bakery. All bottles that contain liquids must be safely lockable by a screw cap to protect the laptops and underfloor in the lecture hall.

We recommend that you bring your own lunch. As of today, due to COVID-19 restrictions, there will be no possibility to have lunch at the canteen. We are only aware of the following two publicly accessible nearby places for lunch:

Train the Trainer - TtT

In conjunction with this course, a Train the Trainer Program is provided. Whereas this regular course teaches parallel programming, the Train the Trainer Program is an education for future trainers in parallel programming. For further details, see here.

PRACE PATC and bwHPC

HLRS is part of the Gauss Centre for Supercomputing (GCS), which is one of the six PRACE Advanced Training Centres (PATCs) that started
in Feb. 2012.
HLRS is also member of the Baden-Württemberg initiative bwHPC.
This course is provided within the framework of the bwHPC training program.
This course is not part of the PATC curriculum and is not sponsored by the PATC program.

Contact

kakhiani@hlrs.de phone 0711 685 65796, kakhiani@hlrs.de
Michael Schlottke-Lakemper phone 0711 685 87223, m.schlottke-lakemper@hlrs.de