Outros Modos de Comunicação em MPI (cont.)
Exemplo Anterior, com Modo Buffered:
char buffer[MAX_BUF]; int buffer_size = MAX_BUF;
MPI_Buffer_attach(buffer, buffer_size);
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_Bsend(y + send_offset, blocksize, MPI_FLOAT,
successor, 0, ring_comm);
MPI_Recv(y + recv_offset, blocksize, MPI_FLOAT,
predecessor, 0, ring_comm, &status);
MPI_Buffer_detach(&buffer, &buffer_size);