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

Jeff Hammond jhammond at alcf.anl.gov
Fri Sep 21 14:58:44 CDT 2012

On Fri, Sep 21, 2012 at 2:38 PM, N.M. Maclaren <nmm1 at cam.ac.uk> wrote:
> On Sep 21 2012, Jeff Hammond wrote:
> I said that I wouldn't follow up, but I can't let this pass.
>> 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?
> Passive one-sided communication, for a start.  I no longer have
> access to the sort of systems on which that would fail, and I have
> never seen it used.  When I did have such access, I did write code
> that caused its underlying assumptions to break, while investigating
> problems on the systems I managed.

You still haven't said what the actual problem is.  I suspect that you
just weren't using it properly if you broke the assumptions of MPI-2.2
RMA.  It was extremely conservative.

>> 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.
> That is total nonsense.  I was involved in both standardisation
> efforts, including as a UK expert on that very area.  The model was
> defined in terms of sequence points, though C99 also added effective
> types.  What you say was true for K&R C, but has not been since.

Can you send me a link to a page that describes the C89 memory model?
It would help me to write better C+Pthread code if I had a memory
model to rely upon instead of nonportable inline assembly.


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