List Info

Thread: LAM: behavior of MPI_BSend with lamd rpi




LAM: behavior of MPI_BSend with lamd rpi
user name
2007-12-04 20:07:31
If I am using lamd rpi and the transmitter's Bsend
completes, is the
message guaranteed to be received at the receiver, provided
the
receiver has posted a MPI_Irecv and is spinning in a loop
that is
calling MPI_Test ? Please note, that after the Bsend, the
transmitter
cannot call any mpi function unless the receiver receives
the data
that was sent - so there should be no mpi progress from the
transmitter side after the Bsend.

When I run this with what I think is the TCP rpi, my
transmitter Bsend
completes, my receiver Irecv completes an earlier Bsend
(because I
posted fewer Irecvs on the receiver than Bsends on the
transmitter)
and then although I repeatedly call Test on a newly posted
MPI_Irecv,
I do not get any data that has been buffered by the
transmitter. My
suspicion is that the data is locally buffered at the
transmitter side
and since the transmitter is not making any MPI progress, we
are
deadlocked.

Thanks,
Bodi
_______________________________________________
This list is archived at http://www.l
am-mpi.org/MailArchives/lam/

Re: LAM: behavior of MPI_BSend with lamd rpi
user name
2007-12-05 09:42:43
Sorry - please ignore my question. I was confused by the
following:
Transmitter         Receiver
Bsend
Bsend
Bsend
                         Loop and MPI_Irecv

The loop would actually loop 3 times and receive the 3
outstanding
sends. However, for a large number of messages, the receiver
does not
receive all the messages because MPI did not ever send them
from the
transmitter - because the large number of messages would
probably
overflow buffers at the receiver.

Bodi

On Dec 4, 2007 9:07 PM, Bodi Debnath <bodi.debnathgmail.com> wrote:
> If I am using lamd rpi and the transmitter's Bsend
completes, is the
> message guaranteed to be received at the receiver,
provided the
> receiver has posted a MPI_Irecv and is spinning in a
loop that is
> calling MPI_Test ? Please note, that after the Bsend,
the transmitter
> cannot call any mpi function unless the receiver
receives the data
> that was sent - so there should be no mpi progress from
the
> transmitter side after the Bsend.
>
> When I run this with what I think is the TCP rpi, my
transmitter Bsend
> completes, my receiver Irecv completes an earlier Bsend
(because I
> posted fewer Irecvs on the receiver than Bsends on the
transmitter)
> and then although I repeatedly call Test on a newly
posted MPI_Irecv,
> I do not get any data that has been buffered by the
transmitter. My
> suspicion is that the data is locally buffered at the
transmitter side
> and since the transmitter is not making any MPI
progress, we are
> deadlocked.
>
> Thanks,
> Bodi
> _______________________________________________
> This list is archived at http://www.l
am-mpi.org/MailArchives/lam/
>
_______________________________________________
This list is archived at http://www.l
am-mpi.org/MailArchives/lam/

[1-2]

about | contact  Other archives ( Real Estate discussion Medical topics )