Introduction to MPI

Course/Event Essentials

Event/Course Start
Event/Course End
Event/Course Format
Mixed
Live (synchronous)

Venue Information

Country: Czech Republic
Venue Details: Click here

Training Content and Scope

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

Other Information

Supporting Project(s)
EuroCC2/CASTIEL2
Event/Course Description

Annotation

Message Passing Interface (MPI) is a dominant programming model on clusters and distributed memory architectures. This course is focused on its basic concepts. In particular, exchanging data by point-to-point and collective operations. Attendees will be able to immediately test and understand these constructs in hands-on sessions.

Benefits for the attendees, what will they learn

After the course, attendees should be able to understand MPI applications and write their code.

Level

60% beginner, 40% intermediate

Language

English

About the tutor(s)

Ondřej Meca holds a Ph.D. degree in Computer Science from VSB - Technical University of Ostrava, Czech Republic. He is currently a member of the Infrastructure Research Lab at IT4Innovations National Supercomputing Center. His research interests include verifying parallel algorithms, developing pre/post-processing algorithms for large-scale engineering problems, and developing highly-scalable linear solvers.

Kristian Kadlubiak is a researcher at the INFRA lab of IT4Innovations National Supercomputing Center where he is responsible for designing and developing various acceleration and optimization techniques in the flagship application ESPRESO. He specializes in parallel and vector processing, accelerator offloading, and performance tuning in general. He holds a master's degree in embedded and computer systems from the Brno University of Technology where he is partially involved as a Ph.D. student. In his studies, he is developing modifications of the Local Fourier Basis (LFB) method to adapt it for efficient use on HPC systems.

Prerequisites

For the hands-on sessions, you should know how to work on the Unix/Linux command line and be able to program in either C/C++, Fortran, or Python.

Test

To run before the course
On the below link please find files that contain a simple test application to verify the installation of an MPI library (see the README file). All you need is a C, C++, or Fortran compiler and an up-to-date MPI library. Use the link based on your archiving application:
TEST.tar.gz
TEST.zip

Slides

The slides will be needed during the exercises. Please download it from the below link. The file contains internal references that work best with Acrobat.

slides

Exercises

Please also download examples that will be needed during the course. 

MPI31single.tar.gz 
MPI31single.zip

MPI standard

Message-passing interface standard version 4.0 can be downloaded from https://www.mpi-forum.org/docs/mpi-4.0/mpi40-report.pdf