Abstract
The Message Passing Interface (MPI) is a widespread paradigm for parallel scientific applications, used in industry as well as in academia. Despite of a several decades of experience in developing distributed memory parallel applications, it is still challenging to write highly performant, portable message passing code.
The reason for that are mainly due to sensitivity of the application performance on
- the actual implementation of the data exchange in the application
- on various aspects/implementation details of the communication library
- on certain characteristics of the hardware and
- its own input parameters
The combination of all of these issues lead to a highly complex system which is not very well understood and which makes it hard for the application developer to realistically tune his code.
This talk discusses some of the topics mentioned above, focusing on adaptive communication patterns in parallel applications, and on parametrized comparative performance analysis for parallel MPI applications.