The purpose of this training course is to present hybrid programming, MPI+OpenMP, as well as to give a feedback of effective implementations of such a parallel programming model on several application codes.
We will explain why the hybrid programming approach seems to be the best suited model for the next massively parallel architectures. Indeed, the benefits of hybrid programming are numerous: memory savings, better performances, better load balancing, greater granularity, improved scalability, better adequacy of the code to the hardware specificities of the target architecture.
- Introduction to hybrid MPI-OpenMP parallelization,
- Hybrid MPI-OpenMP parallelization concepts,
- Feedback on several real applications,
- Hands-on sessions will use IDRIS supercomputers
After this course, participants will be able to:
- Optimize the original parallel OpenMP and MPI versions of their code
- Choose the best strategy, especially the level of thread support, depending on their code and on the target architecture characteristics
- Implement the strategy to obtain an efficient parallel hybrid MPI+OpenMP version.
They will also know how to use performance/debugging tools to find bugs, deadlocks or determine the part of their code that leads to poor performance.
Advanced users who have a good knowledge of: C or Fortran programming language, MPI and OpenMP~