c++ - MPI_Isend 到非监听进程

标签 c++ mpi

在我的程序中的某个时刻,我正在使用 MPI_Isend 来通知某个事件的所有其他进程,但其中一些进程没有监听,这很好。我已经测试了这种情况,似乎可以正常完成。

我这样做可以吗?我是否应该保留每个 Isend 的请求参数,如果它还没有被发送,在一定时间后取消它?

最佳答案

您可能应该保留和取消不会完成的请求,如果不是出于可伸缩性的考虑,那么只是根据一般原则。但理想情况下,您甚至不应该发布您知道不会收到的邮件。如果您无法分辨谁在听谁没有听,您可能需要重新考虑您的设计。

关于c++ - MPI_Isend 到非监听进程,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14160410/

相关文章:

c++ - 读取 vector<char> 作为流

c - 使用 MPI_Isend 发送和接收不同类型的数据

c - 使用 2D 矩阵的 MPI_Sendrecv 问题

c - 如何使用 MPI_Gather 从包括主节点在内的不同处理器收集不同长度的字符串?

parallel-processing - MPI:阻塞与非阻塞

c++ - 有什么办法可以通过 pragma 添加源文件吗?

c++ - 如何为编译时已知的参数的多个值编译函数

C++ 虚拟方法的部分模板特化

c++ - decltype(void()) 中的 void() 究竟是什么意思?

mpi - 如何使用MPI组织异步通信?