MPI-3 has been out for over a year and a half. MPICH supports all of the mandatory MPI-3 behavior and some of its optional semantics. Open MPI supports all of MPI-3 except the new one-sided semantics. New functionality is becoming mature in both, and that maturity is trickling down to the implementations that are derived from those two.
So what’s next? Are we done?
Far from it.
- Errata for MPI-3.0. There have been a few issues that came up that required fixing after the 3.0 document was published.
- MPI-3.1. The Forum is still debating what the exact makeup of MPI-3.1 will be, but if history repeats itself, it’ll basically be MPI-3.0 + the accumulated errata + one or two small new things.
- MPI-4.0. Believe it or not, there’s still new things brewing. Some major features weren’t ready for 3.0, and some new features are still being designed and debated. MPI-4.0 is still quite a ways off, though — it’s at least a year away (probably more).
In short, the MPI standard is continuing to evolve to meet the ever-changing needs of the HPC community.
Indeed, new types of HPC machines and new models of execution are continually being invented. If MPI didn’t adapt to support these new environments, it wouldn’t be much use. It’s the job of the MPI Forum to ensure that MPI continues to be both useful and relevant over time.