This course will be delivered as an ONLINE COURSE for remote participation because of the COVID-19 measures enforced by most European governments.
REGISTRATION is strictly NECESSARY since the details to access the online course will be provided to the registered and accepted attendees only.
Furthermore, accepted participants will be contacted about two weeks in advance and asked to provide some more data for the hands-on labs that will be needed for user account creation on the VSC clusters. At that time there will also be a short PRE-ASSIGNMENT that has to be completed before the course starts.
On clusters and distributed memory architectures, parallel programming with the Message Passing Interface (MPI) is the dominating programming model. This 3 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 = 7:15h (42%) + Intermediate = 7:15h (42%) + Advanced = 2:45h (16%)
(Please note that the content levels refer to the originally planned face-to-face course.)
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).
Note, an additional ONLINE COURSE on Shared memory parallelization with OpenMP takes place on the previous two days (a separate registration is needed).
Agenda & Content (preliminary)
Please note, below you find the agenda for the originally planned face-to-face course.
For the online version of the course the agenda will be adjusted to allow for more time and flexibility with doing the hands-on labs remotely.
08:45 Registration & Getting Ready for the Course
09:00 Welcome / Introduction [2,7] (talk)
09:15 MPI – Introduction to the Message Passing Interface  (talk)
09:30 Chapter 1: MPI Overview (talk)
10:15 Chapter 2: MPI Process Model (talk+practical)
11:45 Chapter 3: Messages and Point-to-Point Communication (talk+practical)
14:00 Chapter 4: Non-Blocking Communication (talk+practical)
15:45 Chapter 5: Fortran and MPI  (talk – only for Fortran participants)
16:30 End of first day
09:00 Chapter 6: Collective Communication (talk+practical)
10:30 Chapter 8-(1): Groups & Communicators [3 cont.] (talk+practical)
11:45 Chapter 9: Virtual Topologies (talk+practical)
14:00 Chapter 8-(2): Re-numbering on a cluster (talk)
14:15 Optimizing MPI communication: a real world example (talk)
14:30 Chapter 12-(1): Derived Datatypes (talk)
15:15 Chapter 13: Short Tour: HPC I/O – Parallel File I/O (talk)
15:45 Chap. 7, 14-17: Short Tour: Other MPI Topics (talk)
16:00 The Vienna Scientific Cluster (VSC)  (talk)
16:30 End of second day
09:00 Chapter 10: One-sided Communication [3 cont.] (talk+practical)
11:00 Chapter 11-(1): Shared Memory One-sided Communication (talk+practical)
13:30 Best Practice for Code Parallelization  (talk)
15:00 Parallel Programming Models  (talk)
15:45 Summary / Q & A  (talk)
16:00 End of third day (course)