Hello MPI Forum, Jeff
Well, the problem is not with incorrect arguments with MPI_Ssend(...) and/or MPI_Recv(...). I confirmed this. Also, if there were any obvious programming and logical errors, I would never have any successful run. In fact, I am having some runs which go through successfully.
The problem seems to be random, and therefore, I am finding it hard to debug. I am using Open MPI v. 1.4.3, on Linux kernel 188.8.131.52-0.7.
I am also using tags, in addition to normal sender node and receiver nodes. I am using integers for tags, and none of the tags are more than 1000. I am also running MPI_Ssends and MPI_Recv within pthreads, and I
believe that it should be okay.
So, the question is, am I stumbling across a bug, or an incorrect MPI installation?
Thanks a lot.
From: Jeff Squyres <email@example.com>
To: devendra rai <firstname.lastname@example.org>; Open MPI Users <email@example.com>
Sent: Tuesday, 13 September 2011, 16:13
[OMPI users] Question on MPI_Ssend
On Sep 13, 2011, at 8:41 AM, devendra rai wrote:
> Also, I read the definition of MPI_Ssend(...) that you sent, but then it does not explain why both MPI_Ssend(...) and MPI_Recv(...) are blocked seemingly forever.
Oh, they're blocked *forever*! Sorry; I didn't get that from your prior description -- I thought you just wanted non-blocking instead of blocking.
> I notice that such a block happens when MPI_Recv(...) is posted before MPI_Ssend(...).
It doesn't matter if the receive is posted before the send or the other way around.
When blocking sends/receives block forever, it usually means that there's a mismatch in the communicator, tag, or src/dest arguments between the two.
For corporate legal information go to:http://www.cisco.com/web/about/doing_business/legal/cri/