Cisco Blogs

Cisco Blog > High Performance Computing Networking

Why MPI is Good for You (part 2)

October 28, 2012 at 6:00 am PST

A while ago, I posted “Why MPI is Good For You,” describing a one-byte change in Open MPI’s code base that fixed an incredibly subtle IPv6-based bug.

The point of that blog entry was that MPI represents an excellent layered design: it lets application developers focus on their applications while shielding them from all the complex wilderbeasts that roam under the covers in the implementation.

MPI implementors like me don’t know — and don’t really want to know — anything about complex numerical analysis, protein folding, seismic wave propagation, or any one of a hundred other HPC application areas.  And I’m assuming that MPI application developers don’t know — and don’t want to know — about the tricky underpinnings of how modern MPI implementations work.

Today, I present another motivating example for this thesis.

Read More »

Tags: , ,

The MPI C++ bindings are gone: what does it mean to you?

October 19, 2012 at 5:00 am PST

Jeff Hammond at Argonne tells me that there’s some confusion in the user community about MPI and C++.  I explained how/why we got here in my first post; let Jeff (Hammond) and I now explain what this means to you.

The short version is: DON’T PANIC.

MPI implementations that provided the C++ bindings will likely continue to do so for quite a while.  I know that we have no intention of removing them from Open MPI any time soon, for example.  The MPICH guys have told me the same.

I’ll discuss below what this means to both applications that are written in C++, and applications that use the MPI C++ bindings. Read More »

Tags: , ,

The MPI C++ bindings: what happened, and why?

October 16, 2012 at 5:00 am PST

Jeff Hammond at Argonne tells me that there’s some confusion in the user community about MPI and C++.

Let me see if I can clear up some of the issues.

In this blog entry, I’ll describe what has happened to the C++ bindings over time (up to and including their removal in MPI-3), and why.  In a second blog entry, I’ll describe what this means to real-world C++ MPI applications.

Read More »

Tags: , ,

Negative MPI tags: Just. Say. No.

October 12, 2012 at 5:39 am PST

A user on the Open MPI mailing list recently asked about using negative tags for point-to-point MPI sending/receiving operations.  He was using bit-mapped tags, and needed just one more bit.

Although this may seem like an innocent, easy-to-fulfill feature request, there are several reasons why we can’t allow the use of negative tags.

First and foremost, the MPI standard disallows negative tags.  It is explicitly mentioned in MPI-3 section 3.2.3 that tag values must be non-negative integers.

Read More »

Tags: ,

MPI-3.0 has passed!

September 21, 2012 at 12:45 am PST

We’re here at the MPI Forum in Vienna where the Forum has just unanimously voted to accept the MPI-3.0 document.

Woo hoo!!

This document caps a 4-year effort that started in January of 2008.  MPI-3.0 clarifies many pending MPI-2.2 issues and adds some significant new user-level features to the standard:
Read More »

Tags: , ,