Research indexJournal article
Advanced Parallel Programming
Achim, Louhivuori
Zenodo (CERN European Organization for Nuclear Research)10 Mar 2021Open access
NobleIDark:/48914/w1/20261004/7CA269CCDOI10.5281/zenodo.7476786
Advanced Parallel Programming
Achim, Louhivuori · Zenodo (CERN European Organization for Nuclear Research) · 2021
NobleIDark:/48914/w1/20261004/7CA269CCDOI10.5281/zenodo.7476786
Free to read at the publisher
You can read the abstract here, or the full text at the publisher.
Abstract
Description This course addresses hybrid programming by combining OpenMP and MPI, as well as more advanced topics in MPI (communication topologies, user-defined data type, and one-side-communications). Also, parallel I/O is discussed and exemplified in the course. The course consists of lectures and hands-on exercises on Puhti. The participants will be informed on connections details before the course. Learning outcome After the course the participants should be able to know how to combine MPI and OpenMP programming models to use full nodes efficiently, how to define its own sub-communicators in order to take advantage of network topology or special data patterns, define its own custom datatypes, and know how to efficiently save data in parallel using MPI-IO or HDF5, as well as understand the basics of the one-sided MPI communication. Prerequisites and content level In order to take the course the participant should be fluent in FORTRAN and/or C programming languages and have taken the PTC course Introduction to Parallel Computing or have similar background knowledge of MPI and OpenMP. The content level of the course is broken down as: beginner's - 14%, intermediate - 51%, advanced - 35%, community-targeted content - 0%. Agenda Day 1, Wednesday March 10 09.00-09.45 Course intro, MPI & OpenMP recap 9:45 -9:50 Break 09:50-10.20 Hybrid MPI + OpenMP programming I 10.20-12.00 Exercises (offline) 12:00 - 13:00 Lunch time recommended 13.00-13.30 Exercises (offline) 13.30-14.15 Hybrid MPI + OpenMP programming II 14.15-15.30 Exercises (offline) 15.30-16.00 Q&A session Day 2, Thursday March 11 09.00-09.45 Advanced MPI I: User-defined datatypes 9:45 -9:50 Break 09:50-10.20 Advanced MPI II: Communication topologies 10.20-12.00 Exercises (offline) 12:00 - 13:00 Lunch time recommended 13.00-13.30 Exercises (offline) 13.30-14.15 Advanced MPI III: One-sided communication 14.15-15.30 Exercises (offline) 15.30-16.00 Q&A session Day 3, Friday March 12 09.00-09.30 Parallel I/O I: Simple POSIX with MPI 9:30 -9:35 Break 09:35-11.00 Parallel I/O II: MPI-IO 11.00-12.00 Exercises (offline) 12:00 - 13:00 Lunch time recommended 13.00-14.30 Exercises (offline) 14.30-15.00 Parallel I/O III: with HDF5 15.00-15.30 Exercises (offline) 15.30-16.00 Q&A session