We’re here at the MPI Forum in Vienna where the Forum has just unanimously voted to accept the MPI-3.0 document.
This document caps a 4-year effort that started in January of 2008. MPI-3.0 clarifies many pending MPI-2.2 issues and adds some significant new user-level features to the standard:
- Non-blocking and neighborhood collective operations
- Revamped remote memory access (RMA, a.k.a. “one-sided” operations)
- New Fortran 2008 bindings
- Richer external tool support
- Better support for large counts
- “Matched” probe support
- C const correctness
- Shared memory windows
- Non-blocking communicator creation / duplication
- Countless small grammar fixes, textual cleanups, and clarifications
Each of these bullets represents a lot of work by a lot of people. The Forum deeply appreciates all the volunteer time and funding that was put forth to make MPI-3.0 a reality.
That being said, there is still much work to be done. Nick Maclaren provides some good cautionary words about extending beyond MPI-3.0, but there is always more that can be done.
Several Forum working groups are already working on both incremental changes and entirely new functionality. It’s far too early to even speculate what’s going to be in the next version of the MPI specification, but it’s going to be fun to watch to see what happens!