1

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

4

2 回答 2

1

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

于 2013-02-13T17:40:09.603 回答
0

你对“同时”的定义是什么?

无论如何,您可能对MPI_Sendrecv感兴趣:

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

于 2013-02-13T18:14:41.987 回答