我是MPI的新手所以请耐心等待。 在这种情况下,我可以找到有关预期行为的任何文件。
假设我从MPI_IRecv
调用{1}来调用ANY_SOURCE
,但是没有人发送任何东西到proc#1,我会收到空缓冲区还是会收到错误?
答案 0 :(得分:2)
由于MPI_IRecv
是异步版本,因此基本上什么都不会发生。
如果你是MPI_Wait
在生成的请求中会发生同样的事情,就像您直接调用MPI_Recv
一样:您的程序将(通常)阻止,直到有适当的消息到达。
如果您没有发送该消息,您的程序就会挨饿。
注意:"通常"指由于某些其他相关或不相关的问题而产生错误的所有可能情况。