예제 #1
0
bool Communicator::Test_all(CommunicationTAG tag) {
  bool received = true;
  for (int i=0; i<Get_size(); i++) {
    if (i == Get_rank()) continue;
    MPI::Request* request = Get_request(i, tag);
    if (!request->Test()) {
      received = false;
      break;
    }
  }

  return received;
}
예제 #2
0
bool Communicator::Test(int source, CommunicationTAG tag) {
  MPI::Request* request = Get_request(source, tag);
  return request->Test();
}