Sign up for our newsletter and get the latest big data news and analysis.

Next iteration of MPI standard set

Torsten Hoefler posts on his blog that the MPI standard is now fixed

We just finished all voting on the last MPI-2.2 tickets! This means that MPI-2.2 is fixed now, no changes are possible. The remaining work is ismply to merge the accepted tickets into the final draft that will be voted on next time. Everything (substantial) that I proposed made it in with a reasonable quorum. The new graph topology interface was nicely accepted this time (I think I explained it better and I presented an optimized implementation). However, other tickets didn’t go that smooth. The process seems very interesting from a social perspective (the way we vote has a substantial impact on the results etc.).

Torsten goes on to talk about some of the tickets that he found interesting in the process. A couple highlights from his list

MPI_Request_free bad advice to users – I personally think that MPI_Request_free is dangerous (especially in the context of threads) and does not provide much to the user. But we can’t get rid of it. … so let’s discourage users to use it! – PASSED!

Deprecate the C++ bindings – that’s funny, isn’t it? But look at the current C++ bindings, they’re nothing more then pimped C bindings and only create problems. Real C++ programmers would use Boot.MPI (which internally uses the C bindings ;)), right? – PASSED (even though I voted against it ;))

Torsten’s post provides an interesting window into the sausage-making process of evolving a standard. It’s a fun read.


  1. Yay deprecating the C++ bindings! I created them, so I felt uniquely empowered to deprecate them (see all the gory details here:

    Next comes removing the C++ bindings in MPI-3… (


  1. MPI-2.2 is darn near done…

    Torsten beat me to the punch last week (and insideHPC commented on it), but I'm still going write my $0.02 about the MPI-2.2 spec anyway. At last week's MPI Forum meeting in Chicago (hosted at the beautiful Microsoft facility -- got…

Resource Links: