1
votes

I am trying to send rank of processes to the process on the right side in a circle. When I used

  MPI_Send(msg, 100, MPI_CHAR, right, 99, MPI_COMM_WORLD);
  MPI_Recv(msg, 100, MPI_CHAR, left,  99, MPI_COMM_WORLD,&status);

where MSG was Char[100], everything was OK. Now, when I changed it like:

  MPI_Send(value, 1, MPI_INT, right, 99, MPI_COMM_WORLD);
  MPI_Recv(value, 1, MPI_INT, left,  99, MPI_COMM_WORLD,&status);

where int value=value+rank, I am getting error during compilation for each MPI_Send and MPI_Recv: passing argument 1 makes pointer from integer without a cast. Does anyone knows how to solve it?

Thanks

1

1 Answers

2
votes
  MPI_Send(&value, 1, MPI_INT, right, 99, MPI_COMM_WORLD);
  MPI_Recv(&value, 1, MPI_INT, left,  99, MPI_COMM_WORLD,&status);