Research Events

17. May 2022 until 20. May 2022 all day

Online Course – Parallelization with MPI

Other

On clusters and distributed memory architectures, parallel programming with the Message Passing Interface (MPI) is the dominating programming model. This 4 half-days course teaches parallel programming with MPI starting from a beginners level. Hands-on sessions (in C, Fortran, and Python (NEW)) will allow users to immediately test and understand the basic constructs of the Message Passing Interface (MPI).

Content Levels: Beginners = 8:00h (50%) + Intermediate = 6:00h (37%) + Advanced = 2:00h (13%)

Agenda & Content:

1st day – 17 May 2022

08:15   Join online
08:30   Welcome (talk)
08:35   MPI overview (talk+demo)
10:00   Breakout-Rooms - meet your exercise group
10:15   Process model and language bindings (talk+demo+practical)
11:30   Break
11:40   Messages and point-to-point communication (talk+practical)
13:00   End of first day

2nd day – 18 May 2022

08:15   Join online
08:30   Ping pong benchmark - solution and results (talk+discussion)
08:40   Nonblocking communication (talk+demo+practical)
10:00   Break
10:15   Collective communication (talk+demo+practical)
11:30   Break
11:45   Optimizing MPI communication - a real world example (talk+discussion)
12:00   Short Tour: other MPI topics (talk)
12:30    Fortran and MPI - only for Fortran participants (talk)
13:00   End of second day

3rd day – 19 May 2022

08:15   Join online
08:30   Groups & Communicators (talk+practical)
09:30   Break
09:45   Virtual topologies (talk+practical)
11:30   Break
11:45   Derived datatypes (talk+demo+practical)
13:00   End of third day

4th day – 20 May 2022

08:15   Join online
08:30   One-sided Communication (talk+practical)
10:00   Break
10:15   Shared Memory One-sided Communication (talk+practical)
11:30   Break
11:45   Short Tour: MPI I/O (talk)
12:15   Best practice, Summary, Q&A (talk+discussion)
13:00   End of fourth day (course)

Prerequisites:

For the hands-on sessions you should know how to work on the Unix/Linux command line and be able to program in either C/C++ or Fortran or Python (NEW, the exercises will also be available in Python+mpi4py+numpy).

Hands-on labs:

For doing the hands-on labs all you need is a C/C++ or Fortran compiler, or Python+mpi4py+numpy, and a recent MPI library. Participants can choose between using their own laptops or any system they have access to that provides these, it's even possible to do the exercises in Google Colab. Alternatively, participants can ask for a training user account at the VSC for the duration of the course.
Accepted participants will be contacted a few days before the course and asked to do a short PRE-ASSIGNMENT that has to be completed before the course starts.

Lecturers:

Claudia Blaas-Schenner (VSC Research Center, TU Wien),
David Fischak (tutor; VSC Research Center, TU Wien)

Language: English

Prices and Eligibility:

This course is a PRACE Training Center (PTC) event. Therefore, the course is open and free of charge for people from academia and industry from the Member States (MS) of the European Union (EU) and Associated/Other Countries to the Horizon 2020 programme.

Course Material:

A link to the Course Material will be available at course start.

Calendar entry

Event location

TU Wien
Zoom Online

 

Organiser

VSC Research Center, TU Wien, in cooperation with the High-Performance Computing-Center Stuttgart (HLRS). This course has been originally developed by Rolf Rabenseifner (HLRS).
Claudia Blaas-Schenner
training@vsc.ac.at

 

More Information

https://vsc.ac.at/training/2022/MPI/

 

Public

Yes

 

Entrance fee

No

 

Registration required

Yes

Please register via the PRACE registration page with your official e-mail address to prove your affiliation.

events.prace-ri.eu/event/1360/registrations/1007/, opens an external URL in a new window

Registration period is from 25 February 2022 to 3 May 2022, and follows the "first come – first served" principle. For the online course we can take a maximum of 40 persons. Additional registrations will be added to a waiting list.