LAM/MPI logo

LAM/MPI General User's Mailing List Archives

  |   Home   |   Download   |   Documentation   |   FAQ   |   all just in this list

From: Jeff Squyres (jsquyres_at_[hidden])
Date: 2004-03-20 09:22:57


On Fri, 19 Mar 2004, Neil Storer wrote:

> From this is it obvious that using the same buffer for send and receive
> is exceedingly dangerous. The program is non-deterministic in that the
> state of the data in the shared buffer cannot be relied upon. The data
> being sent can be overwritten by the receive part way through and the
> receiving node will consequently get the wrong data.

Absolutely correct. MPI says that you must use non-overlapping buffers.

If it worked in 6.5.9, you were likely getting lucky that the race
condition wasn't tripped. Although there's a million reasons why this
could be happening, we improved efficiency in the 7.0 series, which might
account for the change -- things run a little faster so that the receive
buffer is filled before the sending buffer is fully sent.

-- 
{+} Jeff Squyres
{+} jsquyres_at_[hidden]
{+} http://www.lam-mpi.org/