Parallel programming tools MPI, OpenMP
From Wednesday 27 November 2024 to Thursday 28 November 2024
Training
Cerfacs is Qualiopi certified for its training activities
Duration : 2 days / 14 hours
Face to face training session
Satisfaction index
In November 2023, 100% of the participants were satisfied or very satisfied
(results collected from 9 respondents out of 11 participants, a response rate of 81%)
Testimonies
It was very good and lived up to expectations. I would like to emphasize the clarity of the explanations and the pedagogy demonstrated by the teacher. It makes the course very accessible, even for people who don’t have a job that requires them to use computers all the time. (C., 2023)
Thank you very much ! It was a good first course for the teacher !(K., 2023)
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.