Changeset 1639 for XIOS/trunk/src/transformation/axis_algorithm_inverse.cpp
- Timestamp:
- 01/22/19 16:43:32 (5 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
XIOS/trunk/src/transformation/axis_algorithm_inverse.cpp
r1638 r1639 161 161 sendRankSizeMap[itIndex->first] = sendSize; 162 162 } 163 ep_lib::MPI_Allgather(&connectedClient,1,EP_INT,recvCount,1,EP_INT,client->intraComm);163 MPI_Allgather(&connectedClient,1,MPI_INT,recvCount,1,MPI_INT,client->intraComm); 164 164 165 165 displ[0]=0 ; … … 168 168 int* recvRankBuff=new int[recvSize]; 169 169 int* recvSizeBuff=new int[recvSize]; 170 ep_lib::MPI_Allgatherv(sendRankBuff,connectedClient,EP_INT,recvRankBuff,recvCount,displ,EP_INT,client->intraComm);171 ep_lib::MPI_Allgatherv(sendSizeBuff,connectedClient,EP_INT,recvSizeBuff,recvCount,displ,EP_INT,client->intraComm);170 MPI_Allgatherv(sendRankBuff,connectedClient,MPI_INT,recvRankBuff,recvCount,displ,MPI_INT,client->intraComm); 171 MPI_Allgatherv(sendSizeBuff,connectedClient,MPI_INT,recvSizeBuff,recvCount,displ,MPI_INT,client->intraComm); 172 172 for (int i = 0; i < nbClient; ++i) 173 173 { … … 181 181 182 182 // Sending global index of grid source to corresponding process as well as the corresponding mask 183 std::vector< ep_lib::MPI_Request> requests;184 std::vector< ep_lib::MPI_Status> status;183 std::vector<MPI_Request> requests; 184 std::vector<MPI_Status> status; 185 185 std::unordered_map<int, unsigned long* > recvGlobalIndexSrc; 186 186 std::unordered_map<int, double* > sendValueToDest; … … 192 192 sendValueToDest[recvRank] = new double [recvSize]; 193 193 194 requests.push_back( ep_lib::MPI_Request());195 ep_lib::MPI_Irecv(recvGlobalIndexSrc[recvRank], recvSize, EP_UNSIGNED_LONG, recvRank, 46, client->intraComm, &requests.back());194 requests.push_back(MPI_Request()); 195 MPI_Irecv(recvGlobalIndexSrc[recvRank], recvSize, MPI_UNSIGNED_LONG, recvRank, 46, client->intraComm, &requests.back()); 196 196 } 197 197 … … 214 214 215 215 // Send global index source and mask 216 requests.push_back( ep_lib::MPI_Request());217 ep_lib::MPI_Isend(sendGlobalIndexSrc[sendRank], sendSize, EP_UNSIGNED_LONG, sendRank, 46, client->intraComm, &requests.back());216 requests.push_back(MPI_Request()); 217 MPI_Isend(sendGlobalIndexSrc[sendRank], sendSize, MPI_UNSIGNED_LONG, sendRank, 46, client->intraComm, &requests.back()); 218 218 } 219 219 220 220 status.resize(requests.size()); 221 ep_lib::MPI_Waitall(requests.size(), &requests[0], &status[0]);222 223 224 std::vector< ep_lib::MPI_Request>().swap(requests);225 std::vector< ep_lib::MPI_Status>().swap(status);221 MPI_Waitall(requests.size(), &requests[0], &status[0]); 222 223 224 std::vector<MPI_Request>().swap(requests); 225 std::vector<MPI_Status>().swap(status); 226 226 227 227 // Okie, on destination side, we will wait for information of masked index of source … … 231 231 int recvSize = itSend->second; 232 232 233 requests.push_back( ep_lib::MPI_Request());234 ep_lib::MPI_Irecv(recvValueFromSrc[recvRank], recvSize, EP_DOUBLE, recvRank, 48, client->intraComm, &requests.back());233 requests.push_back(MPI_Request()); 234 MPI_Irecv(recvValueFromSrc[recvRank], recvSize, MPI_DOUBLE, recvRank, 48, client->intraComm, &requests.back()); 235 235 } 236 236 … … 249 249 } 250 250 // Okie, now inform the destination which source index are masked 251 requests.push_back( ep_lib::MPI_Request());252 ep_lib::MPI_Isend(sendValueToDest[recvRank], recvSize, EP_DOUBLE, recvRank, 48, client->intraComm, &requests.back());251 requests.push_back(MPI_Request()); 252 MPI_Isend(sendValueToDest[recvRank], recvSize, MPI_DOUBLE, recvRank, 48, client->intraComm, &requests.back()); 253 253 } 254 254 status.resize(requests.size()); 255 ep_lib::MPI_Waitall(requests.size(), &requests[0], &status[0]);255 MPI_Waitall(requests.size(), &requests[0], &status[0]); 256 256 257 257
Note: See TracChangeset
for help on using the changeset viewer.