Cisco Blogs

Cisco Blog > High Performance Computing Networking

The last new things in MPI-3

March 28, 2012 at 5:15 am PST

I know we’ve been talking about new MPI-3 things for forever.  But this is the last list of new things.

I promise.


I can say this with certainly because the Forum’s March meeting was the deadline for all new proposals to make it into the MPI-3 standard.  Anything else will have to be in MPI-<next> (where <next> may be 3.1, or 4, or …11.  Shrug).

Because of the deadline, we had a blizzard of proposals finally get into shape to be presented to the entire Forum.  Let’s talk about some of the more interesting ones…

Read More »

Tags: ,

New Fortran MPI bindings are “in”! And other MPI-3 stuff…

March 26, 2012 at 8:33 am PST

As of March 7, 2012, the new “use mpi_f08″ bindings have been officially voted in to the MPI-3 standard.

Woo hoo!!

A few other minor corrections made it into MPI-3 at the same meeting, but they’re boring / not worth discussing.

What is worth discussing, however, are some proposals that passed their first (of two) formal votes to make it into MPI-3 at that same meeting:

Let’s give a few details on each of these…

Read More »

Tags: ,

The New MPI-3 Remote Memory Access (One Sided) Interface

February 29, 2012 at 11:34 pm PST

Today we feature a deep-dive guest post from Torsten Hoefler, the Performance Modeling and Simulation lead of the Blue Waters project at NCSA, and Pavan Balaji, computer scientist in the Mathematics and Computer Science (MCS) Division at the Argonne National Laboratory (ANL), and as a fellow of the Computation Institute at the University of Chicago.

Despite MPI’s vast success in bringing portable message passing to scientists on a wide variety of platforms, MPI has been labeled as a communication model that only supports “two-sided” and “global” communication. The MPI-1 standard, which was released in 1994, provided functionality for performing two-sided and group or collective communication. The MPI-2 standard, released in 1997, added support for one-sided communication or remote memory access (RMA) capabilities, among other things. However, users have been slow to adopt such capabilities because of a number of reasons, the primary ones being: (1) the model was too strict for several application behavior patterns, and (2) there were several missing features in the MPI-2 RMA standard. Bonachea and Duell put together a more-or-less comprehensive list of areas where MPI-2 RMA falls behind. A number of alternate programming models, including Global Arrays, UPC and CAF have gained popularity filling this gap.

That’s where MPI-3 comes in.

Read More »

Tags: , , ,

MPI-3 Fortran bindings prototype now available

February 27, 2012 at 5:00 am PST

At long last, Craig Rasmussen (from Los Alamos National Laboratory) and I are ready to publish our prototype implementation of the MPI-3 Fortran bindings.  The new MPI-3 Fortran bindings are coming up for their second vote at the upcoming MPI Forum meeting in Chicago; this public release satisfies the “must implement all new proposed behavior” requirement for proposals to get in MPI-3.

The good stuff:

Please download and give this implementation a whirl! We’d love to hear your feedback.

So let’s dive a little deeper into the details…

Read More »

Tags: , , ,

MPI-3 small new function: MPI_GET_LIBRARY_VERSION

February 25, 2012 at 8:16 am PST

There’s been some discussion of Big New Features in MPI-3 recently (and more are coming!).  But today, I want to talk about a little new feature.  Something small, but still useful.

I’m talking about a new function named MPI_GET_LIBRARY_VERSION.

Its only purpose in life is to shed some light on to the implementation that you’re using.  It returns a simple string, and is intended to be human-readable (vs. being machine-parseable). The format of the string is not mandated, but it is assumed that MPI implementations will include reasonably detailed information about their specific version.

Read More »

Tags: ,