Published March 10, 2021 | Version v1

Advanced Parallel Programming

  • 1. CSC

Description

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

Files

Advanced Parallel Programming @ CSC 10.-12.3.2021_handout_new.pdf

Files (48.3 MB)

Name Size
md5:74c3cad21d7dee30f371bc5ace926b9f
44.5 MB Preview Download
md5:c42bb73f597c477048180a9c6a3b2508
3.8 MB Preview Download