MPI Sessions: a proposal for the MPI Forum

March 2, 2016 - 0 Comments

Today, a small group of us left “stealth mode” and presented a group of ideas to the MPI Forum loosely grouped under the moniker of “MPI Sessions.”

These ideas behind this presentation originated from several places:

Here are the slides that were presented tonight:

There was a lot of really great discussion and feedback from the presentation tonight.  I think we took about 40 distinct pieces of feedback / open questions from the audience.

Now that we have brought these ideas to a larger audience, my hope is that we (the Forum) start refining these ideas to fit them into a future release of the MPI standard.  Meaning: please don’t assume that exactly what is proposed in these slides are going to make it into the MPI standard.

That being said, here’s the TL;DR version of the slides:

  • A “session” is a local handle to the MPI library.  You can create lots of sessions in a single MPI process; each creates a self-contained, isolated entry point to the MPI library.
  • It may well be possible to have a different MPI thread level on each session.
  • From a session, you can create MPI_Groups by querying the underlying run-time system.
  • You can create MPI_Comms from these MPI_Groups.
  • You not longer have to call MPI_INIT / MPI_FINALIZE (you can create communicators from sessions); these functions now become the constructor / destructor for MPI_COMM_WORLD and MPI_COMM_SELF.

This is going to be fun!

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.