| 1120 | } |
| 1121 | |
| 1122 | void |
| 1123 | Waitsome (Vector<MPI_Request>& reqs, int& completed, |
| 1124 | Vector<int>& indx, Vector<MPI_Status>& status) |
| 1125 | { |
| 1126 | BL_ASSERT(status.size() >= reqs.size()); |
| 1127 | BL_ASSERT(indx.size() >= reqs.size()); |
| 1128 | |
| 1129 | BL_PROFILE_S("ParallelDescriptor::Waitsome()"); |
| 1130 | BL_COMM_PROFILE_WAITSOME(BLProfiler::Waitsome, reqs, reqs.size(), status, true); |
| 1131 | BL_MPI_REQUIRE( MPI_Waitsome(reqs.size(), |
| 1132 | reqs.dataPtr(), |
| 1133 | &completed, |
| 1134 | indx.dataPtr(), |
| 1135 | status.dataPtr())); |
| 1136 | BL_COMM_PROFILE_WAITSOME(BLProfiler::Waitsome, reqs, completed, status, false); |
| 1137 | } |
| 1138 | |
| 1139 | void |
| 1140 | Bcast(void *buf, int count, MPI_Datatype datatype, int root, MPI_Comm comm) |