Introduction to parallel programming with MPI and OpenMP

Europe/Berlin
Jülich Supercomputing Centre, building 16.3, room 213a (Ausbildungsraum 1)

Jülich Supercomputing Centre, building 16.3, room 213a (Ausbildungsraum 1)

Description

This course will take place as an on-site and in-person event. It is not possible to attend online.


An introduction to the parallel programming of supercomputers is given. The focus is on the usage of the Message Passing Interface (MPI), the most often used programming model for systems with distributed memory. Furthermore, OpenMP will be presented, which is often used on shared-memory architectures.

The first four days of the course consist of lectures and short exercises. A fifth day is devoted to demonstrating the use of MPI and OpenMP in a larger context. To this end, starting from a simple but representative serial algorithm, a parallel version will be designed and implemented using the techniques presented in the course.

Topics covered will include

  • Fundamentals of Parallel Computing
  • MPI (basics, point-to-point communication, collective communication, derived data types, I/O, communicators, thread compliance)
  • OpenMP (parallel construct, data sharing, loop work sharing, task work sharing)

Prerequisites

knowledge about Linux (e.g. make, command line editor, Linux shell), experience in one of the following programming languages C/C++/Fortran/Python

Language:

This course is given in English.

Date:

14 - 18 August 2023, 09:00-16:30 each day

Instructors

Chew Junxian, Ilya Zhukov, Jolanta Zjupa (JSC)

Contact 

For any questions concerning the course, please send an e-mail to i.zhukov@fz-juelich.de and j.zjupa@fz-juelich.de
 

Ilya Zhukov, Jolanta Zjupa
    • 09:00 10:00
      Welcome & Technical Setup 1h
    • 10:00 10:30
      Break 30m
    • 10:30 12:00
      Fundamentals of Parallel Computing 1h 30m
      Speaker: Mr Ilya Zhukov (JSC)
    • 12:00 13:00
      Lunch 1h
    • 13:00 14:30
      Introduction to OpenMP 1h 30m
      Speaker: Jolanta Zjupa (JSC/FZJ)
    • 14:30 15:00
      Break 30m
    • 15:00 16:30
      OpenMP 1h 30m
      Speaker: Jolanta Zjupa (JSC/FZJ)
    • 09:00 09:30
      Introduction to MPI 30m
      Speaker: Mr Ilya Zhukov (JSC)
    • 09:30 10:30
      Blocking P2P Communication 1h
      Speaker: Mr Ilya Zhukov (JSC)
    • 10:30 11:00
      Break 30m
    • 11:00 12:30
      Nonblocking P2P Communication 1h 30m
      Speaker: Mr Ilya Zhukov (JSC)
    • 12:30 13:30
      Lunch 1h
    • 13:30 14:30
      Blocking Collective Communication 1h
      Speaker: Jolanta Zjupa (JSC/FZJ)
    • 14:30 15:00
      Break 30m
    • 15:00 16:30
      Nonblocking Collective Communication 1h 30m
      Speaker: Jolanta Zjupa (JSC/FZJ)
    • 09:00 10:30
      Derived Datatypes 1h 30m
      Speaker: Junxian Chew (Jülich Supercomputer Centre, Forschungszentrum Jülich)
    • 10:30 11:00
      Break 30m
    • 11:00 12:30
      Derived Datatypes 1h 30m
      Speaker: Junxian Chew (Jülich Supercomputer Centre, Forschungszentrum Jülich)
    • 12:30 13:30
      Lunch 1h
    • 13:30 14:30
      I/O 1h
      Speaker: Junxian Chew (Jülich Supercomputer Centre, Forschungszentrum Jülich)
    • 14:30 15:00
      Break 30m
    • 15:00 16:30
      I/O 1h 30m
      Speaker: Junxian Chew (Jülich Supercomputer Centre, Forschungszentrum Jülich)
    • 09:00 10:30
      Communicators 1h 30m
      Speaker: Mr Ilya Zhukov (JSC)
    • 10:30 11:00
      Break 30m
    • 11:00 12:30
      Thread Compliance 1h 30m
      Speaker: Mr Ilya Zhukov (JSC)
    • 12:30 13:30
      Lunch 1h
    • 13:30 14:30
      Tools / MUST 1h
      Speaker: Michael Knobloch (Forschungszentrum Jülich GmbH)
    • 14:30 15:00
      Break 30m
    • 15:00 16:30
      Tools / MUST 1h 30m
      Speaker: Michael Knobloch (Forschungszentrum Jülich GmbH)
    • 09:00 10:30
      Hands-On Tutorial 1h 30m
    • 10:30 11:00
      Break 30m
    • 11:00 12:30
      Hands-On Tutorial 1h 30m
    • 12:30 13:30
      Lunch 1h
    • 13:30 14:30
      Hands-On Tutorial 1h
    • 14:30 15:00
      Break 30m
    • 15:00 16:30
      Hands-On Tutorial 1h 30m