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 toMPI_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 because 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