Description
This course 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 parallel applications and optimize them to different platforms.
Prerequisites
The PATC course Introduction to Parallel Programming or similar background knowledge together with fluency in Fortran and/or C programming languages will be assumed.
Agenda (tentative)
Day 1: Monday, February 13
- 09.00-09.45 Course intro, MPI & OpenMP recap
- 09.45-10.00 Coffee break
- 10.00-11.00 Exercises
- 11.00-11.30 Hybrid MPI + OpenMP programming I
- 11.30-12.00 Exercises
- 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-15.15 Advanced MPI I: Communication topologies
- 15.15-16.15 Exercises
- 16.15-16.30 Summary of Day 1
Day 2: Tuesday, February 14
- 09.00-09.45 Advanced MPI II: User-defined datatypes
- 09.45-10.00 Coffee break
- 10.00-11.15 Exercises
- 11.15-12.00 Advanced MPI III: One-sided communication
- 12.00-13.00 Lunch break
- 13.00-14.30 Exercises
- 14.30-14.45 Coffee break
- 14:45-15:15 Parallel I/O with Posix
- 15.15-16.15 Exercises
- 16.15-16.30 Summary of Day 2
Day 3: Wednesday, February 15
- 09.00-09.45 Parallel I/O with MPI
- 09.45-10.00 Coffee break
- 10.00-11.15 Exercises
- 11.15-12.00 Parallel I/O with MPI cont'd
- 12.00-13.00 Lunch break
- 13.00-14.15 Exercises
- 14.15-14.30 Coffee break
- 14.30-15.15 Parallel I/O with HDF5
- 15.15-16.15 Exercises
- 16.15-16.30 Summary of Day 3
Lecturers: Martti Louhivuori (CSC), Pekka Manninen (CSC)
Language: English
Price: Free of charge