В найденном примере здесь , почему счетчик во втором сообщении не соответствует
if (rank == src) {
/* These message sizes are chosen to expose any alignment problems */
MPI_Bsend( msg1, 7, MPI_CHAR, dest, tag, comm );
MPI_Bsend( msg2, 2, MPI_DOUBLE, dest, tag, comm );
MPI_Bsend( msg3, 17, MPI_CHAR, dest, tag, comm );
}
if (rank == dest) {
MPI_Recv( rmsg1, 7, MPI_CHAR, src, tag, comm, MPI_STATUS_IGNORE );
MPI_Recv( rmsg2, 10, MPI_DOUBLE, src, tag, comm, MPI_STATUS_IGNORE );
MPI_Recv( rmsg3, 17, MPI_CHAR, src, tag, comm, MPI_STATUS_IGNORE );
if (strcmp( rmsg1, msg1 ) != 0) {
errs++;
fprintf( stderr, "message 1 (%s) should be %s\n", rmsg1, msg1 );fflush(stderr);
}
Почему счетчик для отправки и получения двух несовместим?