EuroCC2: Parallel programming tools MPI, OpenMP

Course/Event Essentials

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

Venue Information

Country: France
Venue Details: Click here

Training Content and Scope

Technical Domain
Level of Instruction
Beginner
Intermediate
Sector of the Target Audience
Research and Academia
Industry
Public Sector
Other (general public...)
HPC Profile of Target Audience
Application Users
Application Developers
Data Scientists
Language of Instruction

Other Information

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

Abstract

This course aims at learning to parallelize applications in order to reduce compute time or solve larger problems using MPI/OpenMP programming models. The course is taught using formal lectures and practical/programming sessions. All examples in the course will be done in Fortran, the exercices can be done in Fortran or C.

Objective of the training

To learn the fundamental concepts of parallel programming models MPI, OpenMP

Learning outcomes

Learn to parallelize applications in order to reduce compute time or solve larger problems using MPI/OpenMP programming models.

On completion of this course students should be able to :

  • parallelise a simple C/FORTRAN program (50 lines) with MPI library and/or OpenMP directives,
  • understand and use OpenMP directives ( worksharing , synchronisation),
  • understand and use MPI functions (point to point communications, collectives, communicators, topologies).

Teaching methods

The training is an alternation of theoretical presentations and practical work. A multiple choice question allows the final evaluation. The training room is equipped with computers, the work can be done in sub-groups of two people.

Referent Teacher: Jeoffrey LEGAUX

Target participants

Engineers, physicists, computer scientists and numerical analysts who wish to learn the fundamental concepts of parallel programming models MPI, OpenMP.

Prerequisites

In order to follow this course, you need to:

  • be an employee of a European company; a certificate from the employer is required,
  • have at least 5 years of higher education,
  • know how to use basic Linux commands,
  • master one of these two programming languages : Fortran or C (It is not possible to do the exercises in Java or in Python),
  • the training can take place in French or English depending on the audience, level B2 of CEFR is required.

In order to verify that the prerequisites are satisfied, one the following questionnaire must be completed (Fortran or C). You need to get at least 75% of correct answers in order to be authorized to follow this training session. If you don’t succeed it, your subscription will not be validated. You only have two chances to complete it.

Questionnaire Fortran : https://goo.gl/forms/IqDvVXfOYYqR0NMr1

Questionnaire C : https://goo.gl/forms/WwR3wvQVz2dYy6AX2

Registration

I certify that I obtained at least 75% of correct answers, I register

Deadline for registration: 15 days before the starting date of each training

Before signing up, you may wish to report us any particular constraints (schedules, health, unavailability…) at the following e-mail address : training@cerfacs.fr

Fee

This training course, financed as part of the European EuroCC2 project, is free of charge and reserved for employees of European Union member companies. It normally costs 1120 € excluding VAT.

However, your registration is subject to the payment of a deposit of 200 Euros. This sum will be returned to you at the end of the course if your participation has been effective. If not, it will be retained as compensation for the prejudice caused by leaving people unnecessarily on the waiting list.

Program

(Every day from 9h to 17h30)

Day 1

  • 9h : Welcome coffee
  • 9:15 – 10h00 : Introduction to parallel computing and parallel programming models MPI – OpenMP
    OpenMP fundamentals – Shared memory
  • 10h – 10h45 : Exercises
  • 10h45 – 11h : Break
  • 11h – 11h45 : Worksharing
  • 11h45 – 12h30 : Exercises
  • 12h30 – 14h : Lunch
  • 14h – 14h45 : Synchronizations – Traps
  • 14h45 – 15h30 : Exercises
  • 15h30 – 15h45 : Break
  • 15h45 – 16h30 : Introduction to MPI parallel programming model – Point to point communications
  • 16h30 – 17h30 : Exercises

Day 2

  • 9h – 10h00 : Point to point communications – Collectives communications
  • 10h – 10h45 : Exercises
  • 10h45 – 11h : Break
  • 11h – 11h45 : Collectives communications
  • 11h45 – 12h30 : Exercises
  • 12h30 – 14h : Lunch
  • 14h – 14h45 : Derived datatypes
  • 14h45 – 15h30 : Exercises
  • 15h30 – 15h45 : Break
  • 15h45 – 16h30 : Communicators – Topologies
  • 16h30 – 17h15 : Exercises
  • 17h15 – 17h30 : Conclusions

Evaluation of learning

A final examination will be conducted during the training session.