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. 



Oct. 22 1010