[mpich-discuss] multithreaded MPI_IProbe
Biddiscombe, John A.
biddisco at cscs.ch
Fri Jul 13 08:40:58 CDT 2012
We have a problem caused by this ...
thread 0
while (!flag) {
MPI_Iprobe(MPI_ANY_SOURCE, msg->Tag, comm, &flag, &status);
}
and thread 1
status = MPI_Send(msg->Data, msg->Length, MPI_UNSIGNED_CHAR, msg->Dest,
msg->Tag, comm);
so thread 0 just polls for a message, and thread 1 sends one. We expect thread 1 to block until the message is received, but thread 0, is never returning a true flag so we can't receive it.
Is there a reason for this? Are we doing something wrong (multithreaded MPI_IProbe is not entirely safe), or have we found a bug of some kind?
using mpich2-1.4.1p1 on windows7
mpich2-1.5b2 on linux (fedora 17) and both show the same behaviour.
many thanks
JB
--
John Biddiscombe, email:biddisco @.at.@ cscs.ch
http://www.cscs.ch/
CSCS, Swiss National Supercomputing Centre | Tel: +41 (91) 610.82.07
Via Trevano 131, 6900 Lugano, Switzerland | Fax: +41 (91) 610.82.82
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.mcs.anl.gov/pipermail/mpich-discuss/attachments/20120713/807c604a/attachment.html>
More information about the mpich-discuss
mailing list