- Timestamp:
- 05/16/17 17:54:30 (7 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
XIOS/dev/branch_yushan_merged/src/transformation/axis_algorithm_inverse.cpp
r936 r1134 173 173 174 174 // Sending global index of grid source to corresponding process as well as the corresponding mask 175 std::vector< MPI_Request> requests;176 std::vector< MPI_Status> status;175 std::vector<ep_lib::MPI_Request> requests; 176 std::vector<ep_lib::MPI_Status> status; 177 177 boost::unordered_map<int, unsigned long* > recvGlobalIndexSrc; 178 178 boost::unordered_map<int, double* > sendValueToDest; … … 184 184 sendValueToDest[recvRank] = new double [recvSize]; 185 185 186 requests.push_back( MPI_Request());186 requests.push_back(ep_lib::MPI_Request()); 187 187 MPI_Irecv(recvGlobalIndexSrc[recvRank], recvSize, MPI_UNSIGNED_LONG, recvRank, 46, client->intraComm, &requests.back()); 188 188 } … … 206 206 207 207 // Send global index source and mask 208 requests.push_back( MPI_Request());208 requests.push_back(ep_lib::MPI_Request()); 209 209 MPI_Isend(sendGlobalIndexSrc[sendRank], sendSize, MPI_UNSIGNED_LONG, sendRank, 46, client->intraComm, &requests.back()); 210 210 } … … 213 213 MPI_Waitall(requests.size(), &requests[0], &status[0]); 214 214 215 216 std::vector<MPI_Request>().swap(requests); 217 std::vector<MPI_Status>().swap(status); 215 std::vector<ep_lib::MPI_Request>().swap(requests); 216 std::vector<ep_lib::MPI_Status>().swap(status); 218 217 219 218 // Okie, on destination side, we will wait for information of masked index of source … … 223 222 int recvSize = itSend->second; 224 223 225 requests.push_back( MPI_Request());224 requests.push_back(ep_lib::MPI_Request()); 226 225 MPI_Irecv(recvValueFromSrc[recvRank], recvSize, MPI_DOUBLE, recvRank, 48, client->intraComm, &requests.back()); 227 226 } … … 241 240 } 242 241 // Okie, now inform the destination which source index are masked 243 requests.push_back( MPI_Request());242 requests.push_back(ep_lib::MPI_Request()); 244 243 MPI_Isend(sendValueToDest[recvRank], recvSize, MPI_DOUBLE, recvRank, 48, client->intraComm, &requests.back()); 245 244 } 246 245 status.resize(requests.size()); 247 246 MPI_Waitall(requests.size(), &requests[0], &status[0]); 248 249 247 250 248 size_t nGloAxisDest = axisDest_->n_glo.getValue() - 1;
Note: See TracChangeset
for help on using the changeset viewer.