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
    • 1
      Welcome & Technical Setup
    • 10:00
      Break
    • 2
      Fundamentals of Parallel Computing
      Speaker: Mr Ilya Zhukov (JSC)
    • 12:00
      Lunch
    • 3
      Introduction to OpenMP
      Speaker: Jolanta Zjupa (JSC/FZJ)
    • 14:30
      Break
    • 4
      OpenMP
      Speaker: Jolanta Zjupa (JSC/FZJ)
    • 5
      Introduction to MPI
      Speaker: Mr Ilya Zhukov (JSC)
    • 6
      Blocking P2P Communication
      Speaker: Mr Ilya Zhukov (JSC)
    • 10:30
      Break
    • 7
      Nonblocking P2P Communication
      Speaker: Mr Ilya Zhukov (JSC)
    • 12:30
      Lunch
    • 8
      Blocking Collective Communication
      Speaker: Jolanta Zjupa (JSC/FZJ)
    • 14:30
      Break
    • 9
      Nonblocking Collective Communication
      Speaker: Jolanta Zjupa (JSC/FZJ)
    • 10
      Derived Datatypes
      Speaker: Junxian Chew (Jülich Supercomputer Centre, Forschungszentrum Jülich)
    • 10:30
      Break
    • 11
      Derived Datatypes
      Speaker: Junxian Chew (Jülich Supercomputer Centre, Forschungszentrum Jülich)
    • 12:30
      Lunch
    • 12
      I/O
      Speaker: Junxian Chew (Jülich Supercomputer Centre, Forschungszentrum Jülich)
    • 14:30
      Break
    • 13
      I/O
      Speaker: Junxian Chew (Jülich Supercomputer Centre, Forschungszentrum Jülich)
    • 14
      Communicators
      Speaker: Mr Ilya Zhukov (JSC)
    • 10:30
      Break
    • 15
      Thread Compliance
      Speaker: Mr Ilya Zhukov (JSC)
    • 12:30
      Lunch
    • 16
      Tools / MUST
      Speaker: Michael Knobloch (Forschungszentrum Jülich GmbH)
    • 14:30
      Break
    • 17
      Tools / MUST
      Speaker: Michael Knobloch (Forschungszentrum Jülich GmbH)
    • 18
      Hands-On Tutorial
    • 10:30
      Break
    • 19
      Hands-On Tutorial
    • 12:30
      Lunch
    • 20
      Hands-On Tutorial
    • 14:30
      Break
    • 21
      Hands-On Tutorial