This course will be delivered as an ONLINE COURSE (using Zoom) for remote participation.
REGISTRATION is strictly NECESSARY since the details to access the online course will be provided to the registered and accepted attendees only. Registration 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.
Furthermore, 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.
For doing the HANDS-ON LABS all you need is a C/C++ or Fortran compiler 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.
Overview
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 and Fortran) 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%)
This course is a PRACE training event. It is organized by the VSC Research Center, TU Wien, in cooperation with the High-Performance Computing-Center Stuttgart (HLRS).
Agenda & Content
1st day – 19 April 2021
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 – 20 April 2021
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 – 21 April 2021
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 – 22 April 2021
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)