0
在這個例子中發現here,爲什麼是第二個消息Count參數不一致的,MPI_Bsend/MPI_Recieve
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);
}
在計數不一致的,爲什麼是計數的發送和接收兩個不一致的?
我不懷疑你的回答是正確的,我意識到討論通常在Stack-overflow上被壓垮了,但是爲什麼鏈接中的例子會包含這樣的內容? – rudolph9 2012-03-15 02:27:25