Open MPI logo

Open MPI User's Mailing List Archives

  |   Home   |   Support   |   FAQ   |   all Open MPI User's mailing list

Subject: Re: [OMPI users] MPI_Isend/MPI_Recv problem in a multi-thread program
From: Brian Budge (brian.budge_at_[hidden])
Date: 2012-12-05 10:57:24


Did you build openmpi with multithreading enabled?

If not then that could be the problem.

  Brian
On Dec 5, 2012 3:20 AM, "赵印" <yin_zhao_at_[hidden]> 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
> users_at_[hidden]
> http://www.open-mpi.org/mailman/listinfo.cgi/users
>