Sorry for the delay. Answers inline.
On Feb 29, 2012, at 1:09 PM, Eric Chamberland wrote: > I would like to know which of "waitone" vs "waitany" is optimal and of > course, will never produce deadlocks. In your sample application, either will work just fine -- they will not deadlock. > After executing several times, on different number of processes and different > number of nodes and almost always large value of "lNbInt", I *think* these > could be good conclusions? : > > #1- Both version take almost the same wall clock time to complete > #2- Both version do *not* produce deadlock For this application, I agree. > #3- MPI_WAIT_ANY_VERSION could do better if some work was really done with > received data. Probably so. It would probably do even better if the senders were sending at staggered times. > #4- MPI_WAIT_ANY_VERSION received always the data from processes on the same > host. I'm not sure what you mean by that statement. > I haven't be able to reproduce a deadlock even while varying array length, > number of processes and number of hosts. How can I conclude there are no > problem with this code? Any reading suggestion? I think the classical conditions for deadlock apply here. Summarizing, if you're going to block, you need to ensure that *something* will eventually complete that blocking (i.e., either the specific/WAIT will complete, or *some* sender/WAITANY will complete). -- Jeff Squyres jsquy...@cisco.com For corporate legal information go to: http://www.cisco.com/web/about/doing_business/legal/cri/