【发布时间】:2011-09-07 16:55:08
【问题描述】:
我想知道是否可以同时接收来自一个发送者的消息,并以其他方式同时发送给一个接收者。如果是,它将如何表现?
为了让问题更清楚,假设我们有 4 个线程,每个线程都在监听来自同一来源的消息
MPI_Recv(buf, count, type, THE_SAME_SOURCE, tag, status)
所有这些线程都在同一个 MPI 进程中,因此它们都具有相同的 MPI 等级。而来自其他 MPI 进程或相同但来自不同线程的人称为 MPI_Send。是每个接收者都收到相同的消息,还是只收到一个,或者抛出一些异常(发生错误)?
反过来说,如果 4 个线程(是否在同一个 MPI 进程中)向一个接收者发送消息,该接收者也可能在同一个 MPI 进程中,也可能不在同一个 MPI 进程中。是否收到所有消息?
我对 MPI 没有丰富的经验,回答上述问题可能对我有很大帮助。
谢谢
【问题讨论】:
标签: c++ c concurrency mpi