Hi, 

I have used mpi_waitall() to do it. 

The data can be received but the contents are wrong.

Any help is appreciated. 

thanks

> From: jsquyres@cisco.com
> Date: Fri, 22 Oct 2010 15:35:11 -0400
> To: users@open-mpi.org
> Subject: Re: [OMPI users] OPEN MPI data transfer error
>
> It doesn't look like you have completed the request that came back from Irecv. You need to TEST or WAIT on requests before they are actually completed (e.g., in the case of a receive, the data won't be guaranteed to be in the target buffer until TEST/WAIT indicates that the request has completed).
>
>
>
> On Oct 22, 2010, at 3:19 PM, Jack Bryan wrote:
>
> > Hi,
> >
> > I am using open MPI to transfer data between nodes.
> >
> > But the received data is not what the data sender sends out .
> >
> > I have tried C and C++ binding .
> >
> > data sender:
> > double* sendArray = new double[sendResultVec.size()];
> >
> > for (int ii =0 ; ii < sendResultVec.size() ; ii++)
> > {
> > sendArray[ii] = sendResultVec[ii];
> > }
> >
> > MPI::COMM_WORLD.Send(sendArray, sendResultVec.size(), MPI_DOUBLE, 0, myworkerUpStreamTaskTag);
> >
> > data receiver:
> > double* recvArray = new double[objSize];
> >
> > mToMasterT1Req = MPI::COMM_WORLD.Irecv(recvArray, objSize, MPI_DOUBLE, destRank, myUpStreamTaskTag);
> >
> >
> > The sendResultVec.size() = objSize.
> >
> >
> > What is the possible reason ?
> >
> >
> > Any help is appreciated.
> >
> > thanks
> >
> > jack
> >
> > Oct. 22 1010
> > _______________________________________________
> > users mailing list
> > users@open-mpi.org
> > http://www.open-mpi.org/mailman/listinfo.cgi/users
>
>
> --
> Jeff Squyres
> jsquyres@cisco.com
> For corporate legal information go to:
> http://www.cisco.com/web/about/doing_business/legal/cri/
>
>
> _______________________________________________
> users mailing list
> users@open-mpi.org
> http://www.open-mpi.org/mailman/listinfo.cgi/users