Description
This workshop addresses more advanced topics and techniques in parallel programming. More advanced topics in message-passing interface (MPI); shared-memory parallelization techniques (with OpenMP) combined with MPI; parallel I/O techniques; as well as parallel tools and numerical libraries are discussed and exemplified.
Learning outcome
After the course the participants should have an idea about more advanced techniques and best practices in parallel programming, and on how to scale up applications and optimize them to different platforms.
Prerequisites
The PATC course Introduction to Parallel Programming or equivalent background knowledge together with fluency in Fortran 95 and/or C programming languages will be assumed.
Program
Day 1: Monday, February 15
9.00-9.45 Course intro, MPI & OpenMP recap
9.45-10.00 Coffee break
10.00-11.30 Exercises
11.30-12.00 Hybrid MPI+OpenMP programming I
12.00-13.00 Lunch break
13.00-13.45 Hybrid MPI+OpenMP programming II
13.45-14.30 Exercises
14.30-14.45 Coffee break
14.45-16.15 Exercises
16.15-16.30 Summary of Day 1
Day 2: Tuesday, February 16
9.00-9.45 Advanced MPI I: User-defined datatypes
9.45-10.00 Coffee break
10.00-11.30 Exercises
11.30-12.00 Advanced MPI II: Communication topologies
12.00-13.00 Lunch break
13.00-13.45 Exercises
13.45-14.30 Advanced MPI III: One-sided communication
14.30-14.45 Coffee break
14.45-16.15 Exercises
16.15-16.30 Summary of Day 2
Day 3: Wednesday, February 17
9.00-9.45 Parallel POSIX I/O
9.45-10.00 Coffee break
10.00-11.30 Exercises
11.30-12.00 MPI I/O I
12.00-13.00 Lunch break
13.00-13.45 MPI I/O II
13.45-14.30 Exercises
14.30-14.45 Coffee break
14.45-15.30 I/O libraries
15.30-16.15 Exercises
16.15-16.30 Summary of Day 3
Lecturers: Sebastian von Alfthan (CSC), Jussi Enkovaara (CSC), Pekka Manninen (CSC)
Language: English
Price: Free of charge