[Mpi-forum] Discussion points from the MPI-<next> discussion today

Jeff Hammond jhammond at alcf.anl.gov
Fri Sep 21 14:10:47 CDT 2012

On Fri, Sep 21, 2012 at 1:19 PM, N.M. Maclaren <nmm1 at cam.ac.uk> wrote:
> MPI had no option but to go outside the Fortran and C standards for
> choice arguments (in the former) and non-blocking transfer for both, but
> both standards have been updated to enable those aspects of MPI to
> operate cleanly (though, in the case of C, it's the interpretation, not
> the wording).  But it is very disturbing the way that MPI has started to
> specify facilities that are seriously incompatible with both language
> standards and many implementations of them.

I only use MPI from C but I have never seen or heard any evidence to
justify this concern.  Can you state exactly which MPI functions and
semantics are "seriously incompatible with C89 and/or C99"?  Exactly
which C compilers do not work with MPI?

At least in C89 and C99, C doesn't have a memory model but instead
inherits this from the hardware.  I think this ambiguity is a far
bigger issue than anything MPI nonblocking is doing and somehow C
manages to be used in many places.

The notion that MPI nonblocking send/recv are seriously incompatible
with the C language and its implementation in a reasonable C compiler
(e.g. GCC) is completely inconsistent with enormous quantities of
empirical evidence and sounds like "the sky is falling!" to me.


Jeff Hammond
Argonne Leadership Computing Facility
University of Chicago Computation Institute
jhammond at alcf.anl.gov / (630) 252-5381

More information about the mpi-forum mailing list