Cisco Blogs


Cisco Blog > High Performance Computing Networking

Recently Voted into MPI-3

January 23, 2012
at 7:03 am PST

In the January MPI Forum meeting, several proposals passed their 2nd votes, meaning that they are “in” MPI-3.  That being said, MPI-3 is not yet finalized (and won’t be for many more months), so changes can still happen.

  • Creating MPI_COMM_SPLIT_TYPE
  • Making the C++ bindings optional
  • Updating RMA (a.k.a., “one-sided”)
  • Creating a new “MPIT” tools interface

I’ll describe each of these briefly below.

MPI_COMM_SPLIT_TYPE: This new API function splits communicators according to type.  The new predefined type MPI_COMM_TYPE_SHARED allows users to split, for example, MPI_COMM_WORLD, into communicators comprised of processes that can communicate by shared memory.  Effectively: this allows users to create per-node communicators easily.  Note, too, that upcoming MPI-3 proposals extend MPI_COMM_SPLIT_TYPE by adding new predefined types for other split patterns.

Optional C++ bindings: A single sentence has been added to make the C++ bindings optional in MPI implementations.  That is, an implementation can choose not to provide the MPI C++ bindings.  Fun fact: most people don’t know that the Fortran bindings have been optional since MPI-1!  (even though most MPI implementations provide the MPI Fortran interfaces)  It should be noted that there is another proposal churning through the Forum to completely delete the C++ bindings — meaning that MPI would only be left with official bindings for C and Fortran.  If it passes, deleting the C++ bindings would make their optionality (is that a word?) moot, obviously.

Updated the RMA chapter: The RMA chapter has received a significant overhaul.  It is unfortunately still quite complex and fairly subtle, but I am told by multiple people who were involved in the RMA revamp that many problems from the MPI-2 RMA definitions were fixed.  There’s some new functionality, too, of course — but since I wasn’t involved in the RMA working group, I’m not going to try to describe the new stuff for fear of being incorrect.  :-)

New “MPIT” interface: The Tools working group designed a new interface that tools can use to harvest information from a running MPI application.  Debuggers, profilers, and correctness-checking frameworks can now query a much richer set of information from the innards of an MPI implementation.  This information can be presented to a user to help them more deeply understand the run-time characteristics of their MPI application.

Tags: ,

In an effort to keep conversations fresh, Cisco Blogs closes comments after 60 days. Please visit the Cisco Blogs hub page for the latest content.

4 Comments.


  1. If nothing else, the addition of remote atomics (e.g. compare-and-swap) to the RMA chapter resolves a huge gap in MPI functionality. The addition of dynamic windows makes it easier to implement interesting data-structures. Finally, many clarifications and additions allow for implementations to deliver better performance.

       0 likes

    • January 25, 2012 at 12:44 pm

      (in case you didn’t realize it, Jeff Hammond is in the MPI-3 RMA WG, so his word should definitely be taken over mine :-) )

         0 likes

  2. However, I am a sporadic attender of the MPI Forum and RMA WG telecons, so there are a number of people whose word should be taken over mine :-)

    Perhaps you should invite Torsten, Jim or Pavan to your podcast to talk about MPI-3 RMA.

       0 likes

    • January 25, 2012 at 12:58 pm

      That is a good idea — or perhaps a guest blog post…

         0 likes