Difusão de Dados em Anel (cont.)
sucessor = (my_rank + 1) % p;
predecessor = (my_rank - 1 + p) % p;
for (i = 0; i < p - 1; i++) {
send_offset = ((my_rank - i + p) % p)*blocksize;
recv_offset = ((my_rank - i - 1 + p) % p)*blocksize;
MPI_Send(y + send_offset, blocksize, MPI_FLOAT,
MPI_Recv(y + recv_offset, blocksize, MPI_FLOAT,
predecessor, 0, ring_comm, &status);