在while
之后使用空MPI_Recv
循环来等待另一个处理器的结果发送是否合理?我想确保处理器在完全收到结果之前不会继续,如下所示:
int recvBuffer = 0;
MPI_Recv(&recvBuffer, 1, MPI_INT, src, 0, MPI_COMM_WORLD, MPI_STATUS_IGNORE); // recvBuffer expects to receive an integer greater than 0
while(recvBuffer == 0);
sum+= recvBuffer;
答案 0 :(得分:7)
不,这根本不合理,严格禁止任何事情。这是阻止接收。 你应该做的是检查函数的返回。 那会显示错误。