我正在尝试编写MPI程序,其目的是在处理器之间传递消息 例如 假设有4个处理器 处理器0应该将消息发送到处理器1 处理器1应该将消息发送到处理器2 处理器2应该将消息发送到处理器3 处理器3应该将消息发送到处理器0 处理器0应该将消息发送到处理器1 .... 等等 什么是确保处理器1等待它从处理器0 ......等接收消息的最佳方法
答案 0 :(得分:0)
基本MPI_Send
和MPI_Recv
操作足以实现此功能。您可以轻松地在线查找文档,例如MPI_Recv of openMPI的文档。您的基本算法如下所示:每个进程调用MPI_Recv
。这会阻止(或“等待”)直到收到匹配的消息;然后,我们MPI_Send
将消息发送到下一个进程。要开始这个快乐的转变,你需要在进程0之前发送消息,然后再致电MPI_Recv
。