从两个匹配的非阻塞发送和接收操作中仅检查一个请求对象是否足够。
这会很棒,因为这会减少在我的程序中处理请求对象的工作量。
这里有一个 boost mpi 的小例子:
#include <boost/mpi.hpp>
int main(int argc, char* argv[]) {
// initialize mpi
mpi::environment env(argc, argv);
boost::mpi::communicator world;
boost::mpi::request req0, req1;
double blub;
if(world.rank()==1)
req1 = world.irecv(0, 23, blub);
if(world.rank()==0)
req0 = world.isend(0, 23, blub);
//now I want to synchronize the processors is this enough?
req0.wait();
//or do I also need this line
req1.wait();
}