We need to be able to see you entire send and receive calls, but at a first pass, it's probably that he sizes of your send and receive don't match. Send us a minimum working example (not your entire code). 

Wesley

On Nov 29, 2013, at 1:56 AM, Soheil Hooshdaran <shooshdaran577@gmail.com> wrote:

Hello.
After executing MPI_Send() for the first time in the root process, my program blocks.

int the root process, I have:
...
   while(i++<iWorldSize)
   {
cout << "executing send for the " << i-1 << "th time" <<  endl;
  MPI_Send(&A[i-1], n*m/iWorldSize, MPI_INT, j, itag, MPI_COMM_WORLD);
  cout << "executed send for the " << i << "th time" <<  endl;
  }//end while
...

and in the slave processes I have

...
 MPI_Status status;   
 
 int *buffer = new int[m*(n/iWorldSize)];
      cout << "\n\n\n**********Executing receive*******" << endl;
      MPI_Recv(&buffer, m*(n/iWorld
...

where did I go wrong?

Thank you
_______________________________________________
discuss mailing list     discuss@mpich.org
To manage subscription options or unsubscribe:
https://lists.mpich.org/mailman/listinfo/discuss