[mpich-discuss] multithreaded MPI_IProbe

Biddiscombe, John A. biddisco at cscs.ch
Fri Jul 13 16:16:59 CDT 2012


Wei-keng, Daniel, Jeff, etc

Awfully, sorry, looks like we did have a tag mismatch. Using Any_TAG looks like it has fixed it. Still running tests, but main lock seems to have gone.

Sorry for the noise and thanks very much for helping.

JB

-----Original Message-----
From: mpich-discuss-bounces at mcs.anl.gov [mailto:mpich-discuss-bounces at mcs.anl.gov] On Behalf Of Darius Buntinas
Sent: 13 July 2012 22:36
To: mpich-discuss at mcs.anl.gov
Subject: Re: [mpich-discuss] multithreaded MPI_IProbe

Please send a short program that demonstrates the problem.  From you description, it should work, but it's hard to tell unless we have more details.

Thanks,
-d

On Jul 13, 2012, at 3:14 PM, Biddiscombe, John A. wrote:

> Jeff + list
> 
> MPI_Send actually is blocking, and MPI_Iprobe is always returning false. The message is neither sent, nor received.
> 
> My question should have been...is this to be expected, or could there be a bug in mpich?
> 
> Thanks
> 
> JB
> 
> -----Original Message-----
> From: mpich-discuss-bounces at mcs.anl.gov 
> [mailto:mpich-discuss-bounces at mcs.anl.gov] On Behalf Of Jeff Hammond
> Sent: 13 July 2012 16:31
> To: mpich-discuss at mcs.anl.gov
> Subject: Re: [mpich-discuss] multithreaded MPI_IProbe
> 
> If you want MPI_Send to block until the message is received, you need to use MPI_Ssend.
> 
> You may also wish to read
> http://www.unixer.de/publications/img/mprobe-proposal-rev4.pdf
> regarding the multithreaded use of MPI_Probe.
> 
> There's no guarantee that either of my comments resolves your issue.
> 
> Jeff
> 
> On Fri, Jul 13, 2012 at 8:40 AM, Biddiscombe, John A. <biddisco at cscs.ch> wrote:
>> 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
>> 
>> 
>> 
>> 
>> 
>> 
>> _______________________________________________
>> mpich-discuss mailing list     mpich-discuss at mcs.anl.gov
>> To manage subscription options or unsubscribe:
>> https://lists.mcs.anl.gov/mailman/listinfo/mpich-discuss
>> 
> 
> 
> 
> --
> Jeff Hammond
> Argonne Leadership Computing Facility
> University of Chicago Computation Institute jhammond at alcf.anl.gov / 
> (630) 252-5381 http://www.linkedin.com/in/jeffhammond
> https://wiki.alcf.anl.gov/parts/index.php/User:Jhammond
> _______________________________________________
> mpich-discuss mailing list     mpich-discuss at mcs.anl.gov
> To manage subscription options or unsubscribe:
> https://lists.mcs.anl.gov/mailman/listinfo/mpich-discuss
> _______________________________________________
> mpich-discuss mailing list     mpich-discuss at mcs.anl.gov
> To manage subscription options or unsubscribe:
> https://lists.mcs.anl.gov/mailman/listinfo/mpich-discuss

_______________________________________________
mpich-discuss mailing list     mpich-discuss at mcs.anl.gov
To manage subscription options or unsubscribe:
https://lists.mcs.anl.gov/mailman/listinfo/mpich-discuss


More information about the mpich-discuss mailing list