[ONLINE] MPI and OpenMP in Scientific Software Development @SURF

CET
[ONLINE]

[ONLINE]

Description

IMPORTANT INFORMATION: WAITING LIST

This course is already fully booked, thus direct registrations are not possible. However, you can still register here to be included in the waiting list, where we may still call you if a place becomes available.

 

[NOTE: this is the advanced part of an MPI/OpenMP course at SURF. If you are not familiar with basic MPI/OpenMP, please be welcome to register for the basic course on the 7th and 8th of May.]

 

Would you like to learn how to parallelize effectively with MPI and OpenMP and get to know some tricks from the experts?

This advanced MPI/OpenMP course describes different everyday challenges that developers of parallel code have to face in everyday work, and provides working solutions for them. Here you will see how to deal with parallel profiling and explore the knobs and dials that make your code exploit the best possible performance, just like domain decomposition techniques and parallel I/O. Each of these sessions includes hands-on exercises to facilitate the understanding of the different constructs. Moreover, you will also obtain some insight on useful parallel libraries and routines for scientific code development.

What?

In this course you will:

- Understand how to work with MPI and OpenMP with many examples from scientific applications

- Learn when and how to apply different parallelization strategies

- Experience how to develop and optimize code step by step for its use on a supercomputer

Who?

- Everyone interested in learning how to make efficient use of MPI and OpenMP for different scientific applications

Requirements:

- Basic knowledge of Linux

- Basic knowledge of programming, particularly with C/C++ or Fortran

- Basic knowledge of parallel computing. No specific experience with supercomputing systems is necessary.

- Basic knowledge of MPI and OpenMP constructs (provided in the basic course)

You should have:

- Your own laptop with an up-to-date browser and a terminal emulator. The use of the operating systems Linux and macOS is preferred, but not mandatory. For Windows users we recommend to download MobaXterm (portable version) as terminal emulator.

Acknowledgments:

Part of the materials from this course are kindly provided by the collaboration between PRACE and HLRS.

This course is also sponsored and counts with the collaboration of expert application developers from the CompBioMed Center of Excellence.

    • 1:00 PM 1:15 PM
      Welcome presentation
    • 1:15 PM 2:15 PM
      Invited speaker: MPI/OpenMP application
    • 2:15 PM 2:45 PM
      Jacobi example
    • 2:45 PM 3:00 PM
      Coffee break 15m
    • 3:00 PM 3:35 PM
      Performance analysis & debugging
    • 3:35 PM 4:15 PM
      Effects of buffers
    • 4:15 PM 5:00 PM
      Communication tricks
    • 5:00 PM 5:15 PM
      Coffee break 15m
    • 5:15 PM 6:00 PM
      Hands-on exercises
    • 1:00 PM 2:00 PM
      Invited speaker: MPI/OpenMP application
    • 2:00 PM 2:40 PM
      Domain decomposition
    • 2:40 PM 2:55 PM
      Coffee break 15m
    • 2:55 PM 3:30 PM
      Libraries: METIS / Scotch
    • 3:30 PM 4:30 PM
      Hands-on exercises
    • 4:30 PM 4:45 PM
      Coffee break 15m
    • 4:45 PM 5:20 PM
      MPI topologies
    • 5:20 PM 6:00 PM
      Hands-on exercises
    • 1:00 PM 2:00 PM
      Invited speaker: MPI/OpenMP application
    • 2:00 PM 2:30 PM
      MPI I/O
    • 2:30 PM 2:45 PM
      Hands-on exercises
    • 2:45 PM 3:00 PM
      Coffee break 15m
    • 3:00 PM 4:00 PM
      MPI + OpenMP
    • 4:00 PM 4:30 PM
      Hands-on exercises
    • 4:30 PM 4:45 PM
      Coffee break 15m
    • 4:45 PM 5:30 PM
      OpenMP 5.0 and GPU offloading
    • 5:30 PM 6:00 PM
      Hands-on exercises