Cisco Blogs

Cisco Blog > High Performance Computing Networking

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

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?

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.

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!

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: , ,

MPI_Ibarrier: Crazy?

Most people’s reactions to hearing about the new MPI-3 non-blocking “barrier” collective think: huh?

Why on earth would you have a non-blocking barrier?  The whole point of a barrier is to synchronize — how does it make sense not to block while waiting?

The key is re-phrasing that previous question: why would you block while waiting?

Read More »

Tags: , ,