使用MPI同时发送和接收

时间:2013-02-13 06:44:02

标签: c mpi hpc

我有一个网络,其中进程向其邻居发送随机消息,同时从其邻居接收消息。 我可以使用套接字和线程来做到这一点。一个线程接收消息,另一个线程将消息发送给随机选择的邻居。是否可以使用MPI_SEND和MPI_RECV实现此目的?

2 个答案:

答案 0 :(得分:1)

您可以在多线程环境中使用MPI调用。查看MPI_Init_thread功能的手册和本文:http://www.mcs.anl.gov/~thakur/papers/mpi-threads.pdf。请注意,MPI-1标准不要求实现是线程安全的,只有MPI-2才能执行(但您使用的实现很可能是MPI-2)。

答案 1 :(得分:0)

您对“同步”的定义是什么?

无论如何,您可能对MPI_Sendrecv

感兴趣
  

如果调用者分叉两个并发线程,一个执行发送,一个执行接收,然后是这两个线程的连接,那么发送 - 接收操作的语义是什么。