The Message Passing Interface (MPI) is the most prominent programming paradigm for High Performance Computing (HPC) applications used in a wide range of application domains, including climate simulations.
This dominance stems, in part, from the fact that MPI provides a stable, standardized programming interface application developers can rely on. The core API has remained unchanged since MPI’s first release in 1994 and any addition since then has been added in a consistent fashion making incremental transitions possible. The MPI Forum, the standardization body for MPI, is responsible for maintaining this consistency, while advancing the MPI standard to match new application and system requirements. Membership is open to any organization and voting rights depend on attendance of physical meetings, which ensures that organizations influencing the standard have a history of contributing. The voting process for any change or addition to MPI is fairly rigorous and aimed at achieving consensus of established common practice before standardizing.
In this talk, a will highlight the MPI standardization process as well as the role of the MPI forum and will discuss how this process has helped to establish a stable standard, how it compares to other standard efforts like OpenMP and how it can be adapted to other domains. Further, I will highlight major initiatives proposing extensions for MPI, which are currently discussed at the MPI forum, and how they affect application developers.
The goal of this talk is to both gather feedback from the user community on MPI and the direction we, as the MPI forum, are taking as well as to introduce the MPI standardization process to a wide range of application developers in the hope of attracting new representatives, especially from the application side.