MPI-3 for increased portability and performance
The Message Passing Interface (MPI) is an inter-process communication interface. MPI enables data exchange between different processes through a strictly standardized API, and for this reason, MPI is regarded as the de facto parallel programming model for supercomputers. Recently, the latest standard, MPI-3, has arrived.
Evolution of the MPI programming standard.
In particular, this new version of MPI is able to address shared-memory application, which can potentially make the use of POSIX threads or OpenMP obsolete. The main objective of this master thesis is to answer whether MPI-3 is as good as a hybrid MPI+OpenMP approach.
What you will do:
- Learn to implement simple test problems using MPI-3 and gather knowledge about the differences between MPI-3 and MPI-1/MPI-2.
- Compare pure MPI-3 based implementations between those programmed by the traditional MPI+OpenMP approach.
- Apply MPI-3 programming to a real-world application.
What you will learn:
- Advanced MPI programming
- Basic OpenMP programming
- How to use a supercomputer
- Good (serial) programming skills
- Entrance-level knowledge of numerical methods
- A lot of courage and dedication