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.
Overview
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.
1st day
08:45 Registration & Getting Ready for the Course
09:00 Welcome / Introduction [2,7] (talk)
09:15 MPI – Introduction to the Message Passing Interface [3] (talk)
09:30 Chapter 1: MPI Overview (talk)
10:15 Chapter 2: MPI Process Model (talk+practical)
11:30 Coffee
11:45 Chapter 3: Messages and Point-to-Point Communication (talk+practical)
13:00 Lunch
14:00 Chapter 4: Non-Blocking Communication (talk+practical)
15:30 Coffee
15:45 Chapter 5: Fortran and MPI [4] (talk – only for Fortran participants)
16:30 End of first day
2nd day
09:00 Chapter 6: Collective Communication (talk+practical)
10:15 Coffee
10:30 Chapter 8-(1): Groups & Communicators [3 cont.] (talk+practical)
11:45 Chapter 9: Virtual Topologies (talk+practical)
13:00 Lunch
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:00 Coffee
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) [5] (talk)
16:30 End of second day
3rd day
09:00 Chapter 10: One-sided Communication [3 cont.] (talk+practical)
10:45 Coffee
11:00 Chapter 11-(1): Shared Memory One-sided Communication (talk+practical)
12:30 Lunch
13:30 Best Practice for Code Parallelization [7] (talk)
14:30 Coffee
15:00 Parallel Programming Models [6] (talk)
15:45 Summary / Q & A [8] (talk)
16:00 End of third day (course)