我在两个进程之间编写了一个简单的send / recv。我使用isend
和irecv
来传递消息。
在发件人方面,我捕获mpi::request
返回的isend
对象,并使用它来验证邮件是否已发送。但是,看起来确认(即。request.test()
)在接收器上实际执行status
之前很久就会返回一个有效的status->error == 0
对象(irecv
}(我有在irecv
之前的睡眠(20)。从此我得出结论,状态是交付(到队列)的指示,而不是消息被读取的指示?
也许值得一提的是我在Ubuntu上使用boost :: mpi,C ++。