在MPI中,我可以查看是否有任何消息等待MPI_Probe
的给定进程。这将告诉我是谁向我发送了信息,标签,以及重要的信息。如果由于某种原因,发件人试图向我发送一个太大的消息(我没有足够的内存来处理它),我想永远忽略该消息。 “不,那太大了。你不应该这样做”
我们提出的一种方法是对消息进行零字节接收。然后,我们必须为这一个案例设置一个MPI错误处理程序,以忽略“消息被截断”。
另一种方法是调用MPI_Iprobe
并跳过我们不想要的消息。然而,违规消息仍然存在于消息队列中,妨碍了(并且可能消耗我们在其他地方花费的资源)。
感觉MPI中应该有一个“消息这个消息”例程,但考虑到从发送者进程实现“取消发送”是多么困难,我只能想象当接收者要求发送者“取消发送“