使流程采取不同的行动取决于它是否收到了来自其他流程的消息?

时间:2011-10-06 17:15:32

标签: c mpi

我的程序需要进程0继续递增计数器并发送消息,直到它收到来自程序中最后一个进程的消息,然后进程0递减相同的计数器并发送消息。我不知道如何“收听”/调查是否已收到消息

我的案例:(我是反击的)

  

当进程0未从进程1收到0时,i ++并发送消息。

     

在流程0收到消息后,i--并发送消息。

或者更笼统地说:

  

虽然进程0未收到进程1的消息,但执行A

     

在流程0收到流程1的消息后,执行B

我如何在MPI中执行此操作?

非常感谢!

1 个答案:

答案 0 :(得分:0)

通常,您可以使用MPI_IsendMPI_IrecvMPI_Test进行投票。阅读本书关于非阻塞通信的章节。