Many thanks for doing this Eugene. On Mar 15, 2012, at 11:58 AM, Eugene Loh wrote:
> On 03/13/12 13:25, Jeffrey Squyres wrote: >> On Mar 9, 2012, at 5:17 PM, Jeremiah Willcock wrote: >>> On Open MPI 1.5.1, when I call MPI_Testsome with incount=0 and the two >>> output arrays NULL, I get an argument error (MPI_ERR_ARG). Is this the >>> intended behavior? If incount=0, no requests can complete, so the output >>> arrays can never be written to. I do not see anything in the MPI 2.2 >>> standard that says either way whether this is allowed. >> I have no strong opinions here, so I coded up a patch to just return >> MPI_SUCCESS in this scenario (attached). >> >> If no one objects, we can probably get this in 1.6. > > It isn't enough just to return MPI_SUCCESS when the count is zero. The man > pages indicate what behavior is expected when count==0 and the MTT tests > (ibm/pt2pt/[test|wait][any|some|all].c) check for this behavior. Put another > way, a bunch of MTT tests started failing since r26138 due to quick return on > count=0. > > Again, the trunk since r26138 sets no output values when count=0. In > contrast, the ibm/pt2pt/*.c tests correctly check for the count=0 behavior > that we document in our man pages. Here are excerpts from our man pages: > > Testall > > Returns flag = true if all communications associated > with active handles in the array have completed (this > includes the case where no handle in the list is active). > > Testany > > MPI_Testany tests for completion of either one or none > of the operations associated with active handles. In > the latter case (no operation completed), it returns > flag = false, returns a value of MPI_UNDEFINED in index, > and status is undefined. > > The array may contain null or inactive handles. If the > array contains no active handles then the call returns > immediately with flag = true, index = MPI_UNDEFINED, > and an empty status. > > Testsome > > If there is no active handle in the list, it returns > outcount = MPI_UNDEFINED. > > Waitall > > [...no issues...] > > Waitany > > The array_of_requests list may contain null or inactive > handles. If the list contains no active handles (list > has length zero or all entries are null or inactive), > then the call returns immediately with index = MPI_UNDEFINED, > and an empty status. > > Waitsome > > If the list contains no active handles, then the call > returns immediately with outcount = MPI_UNDEFINED. > > I'll test and put back the attached patch. > <trunk.patch>_______________________________________________ > users mailing list > us...@open-mpi.org > http://www.open-mpi.org/mailman/listinfo.cgi/users -- Jeff Squyres jsquy...@cisco.com For corporate legal information go to: http://www.cisco.com/web/about/doing_business/legal/cri/