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

CET
[ONLINE]

[ONLINE]

Description

[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 13th and 14th of June.]

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.

Disclaimer

This course is also sponsored and counts with the collaboration of expert application developers from the CompBioMed Center of Excellence. As a result, it is exceptionally open for participation by any interested participant anywhere in the world.

IMPORTANT INFORMATION: WAITING LIST

If the course gets fully booked, no more registrations are accepted through this website. However, you can be included in the waiting list: for that, please send an email to training-research@surf.nl and you'll be informed when a place becomes available.

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