Did you build openmpi with multithreading enabled? If not then that could be the problem.
Brian On Dec 5, 2012 3:20 AM, "赵印" <yin_z...@126.com> wrote: > Hi all, > > I have a MPI_Isend/MPI_Recv problem in a multi-thread program. > > In the program: > * The first machine* has one thread does some computation and call * > MPI_Isend *to send buffer to the second machine, and another thread is > always trying to*MPI_Recv* data from the second machine. And the first > thread will *MPI_Wait *its last *MPI_Isend *to complete before call * > MPI_Isend *again. > * The second machine* does the exact same thing. > > Then I got the result that : > *The first machine*: > Thread* 0* : *MPI_Isend *data to *the second machine* successfully. > but blocked in *MPI_Wait *be! cause last *MPI_Isend *did not complete. > Thread* 1* : try to *MPI_Recv* data from* the second machine*, but no > data and it blocked. > *The second machine*: > Thread* 0* : *MPI_Isend *data to the first machine successfully. but > blocked in *MPI_Wait *because last *MPI_Isend *did not complete. > Thread* 1* : try to *MPI_Recv* data from *the first machine*, but no > data and it blocked. > > Does anyone have any ideas? I appreciated it very much, because I have > tracked the problem for two days but no progress. > > Eason Zhao > > > > _______________________________________________ > users mailing list > us...@open-mpi.org > http://www.open-mpi.org/mailman/listinfo.cgi/users >