LAM/MPI logo

LAM/MPI General User's Mailing List Archives

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

From: Brian Barrett (brbarret_at_[hidden])
Date: 2005-03-22 09:15:33


On Mar 22, 2005, at 9:04 AM, David Cronk wrote:

> Neil Storer wrote:
>> Ravi,
>> You seem to be sending 1 MPI_DOUBLE value from the MAIN program of
>> each of your tasks (except rank0) to rank0, but only doing a single
>> receive in rank0. This will leave the remaining MPI_DOUBLE-size
>> messages in the buffer. The MPI_Bcast on rank0 will get one of these
>> buffered messages and you are now totally out of step with your
>> SEND/REVCs.
>
> I am not a LAM developer and I have not looked at the LAM source code,
> but I doubt very much that LAM does this. This would be in clear
> violation to the standard. Something like this may lead to deadlock,
> but a Bcast should never receive data sent with a send.

David is correct on both counts. Data sent using the collective
algorithms is completely separate from data sent by the point-to-point
functions. So there is no chance of data sent with an MPI_Send being
received as part of an MPI_Bcast. This would be a blatant violation of
the MPI standard, and would break a number of applications. There may
be places where LAM interprets the standard differently than other MPI
implementations, but this is definitely not one of them.

> Having said that, I can't see how it would ever work (with your
> smaller problem size) and why the failure appears to be in the MAIN
> program. Unless you haven't shown us the full MPI code in the MAIN
> program.

I do want to point out that Neil is probably right here - there is
something with the communication patterns of Ravi's code that is
causing messages to arrive in an order he doesn't expect. Usually
using MPE or XMPI and writing out the communication patterns is a good
way to work through what's happening.

Hope this helps,

Brian

-- 
   Brian Barrett
   LAM/MPI developer and all around nice guy
   Have a LAM/MPI day: http://www.lam-mpi.org/