Introduction to parallel programming with MPI and OpenMP

Course/Event Essentials

Event/Course Start
Event/Course End
Event/Course Format
In person

Venue Information

Country: Germany
Venue Details: Click here

Training Content and Scope

Scientific Domain
Level of Instruction
Beginner
Intermediate
Advanced
Sector of the Target Audience
Research and Academia
Industry
Public Sector
HPC Profile of Target Audience
Application Users
Application Developers
Data Scientists
Language of Instruction

Other Information

Organiser
Event/Course Description

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:

Fundamentals of HPC: system architectures, shared and distributed memory concepts.

OpenMP: introduction, parallel constructs, loop and task sharing.

MPI: introduction, point-to-point and collective communication, blocking and non-blocking, data types, I/O, communicators, thread compliance, tools.

Hands-on: tutorial from serial to parallel program.