Ignore:
Timestamp:
01/22/19 16:43:32 (5 years ago)
Author:
yushan
Message:

revert erroneous commit on trunk

File:
1 edited

Legend:

Unmodified
Added
Removed
  • XIOS/trunk/src/transformation/grid_transformation.cpp

    r1638 r1639  
    514514    sendRankSizeMap[itIndex->first] = sendSize; 
    515515  } 
    516   ep_lib::MPI_Allgather(&connectedClient,1,EP_INT,recvCount,1,EP_INT,client->intraComm); 
     516  MPI_Allgather(&connectedClient,1,MPI_INT,recvCount,1,MPI_INT,client->intraComm); 
    517517 
    518518  displ[0]=0 ; 
     
    521521  int* recvRankBuff=new int[recvSize]; 
    522522  int* recvSizeBuff=new int[recvSize]; 
    523   ep_lib::MPI_Allgatherv(sendRankBuff,connectedClient,EP_INT,recvRankBuff,recvCount,displ,EP_INT,client->intraComm); 
    524   ep_lib::MPI_Allgatherv(sendSizeBuff,connectedClient,EP_INT,recvSizeBuff,recvCount,displ,EP_INT,client->intraComm); 
     523  MPI_Allgatherv(sendRankBuff,connectedClient,MPI_INT,recvRankBuff,recvCount,displ,MPI_INT,client->intraComm); 
     524  MPI_Allgatherv(sendSizeBuff,connectedClient,MPI_INT,recvSizeBuff,recvCount,displ,MPI_INT,client->intraComm); 
    525525  for (int i = 0; i < nbClient; ++i) 
    526526  { 
     
    534534 
    535535  // Sending global index of grid source to corresponding process as well as the corresponding mask 
    536   std::vector<ep_lib::MPI_Request> requests(recvRankSizeMap.size()*2 + globaIndexWeightFromSrcToDst.size()*2); 
    537   std::vector<ep_lib::MPI_Status> status; 
     536  std::vector<MPI_Request> requests; 
     537  std::vector<MPI_Status> status; 
    538538  std::unordered_map<int, unsigned char* > recvMaskDst; 
    539539  std::unordered_map<int, unsigned long* > recvGlobalIndexSrc; 
    540   int requests_position = 0; 
    541540  for (std::map<int,int>::const_iterator itRecv = recvRankSizeMap.begin(); itRecv != recvRankSizeMap.end(); ++itRecv) 
    542541  { 
     
    546545    recvGlobalIndexSrc[recvRank] = new unsigned long [recvSize]; 
    547546 
    548     ep_lib::MPI_Irecv(recvGlobalIndexSrc[recvRank], recvSize, EP_UNSIGNED_LONG, recvRank, 46, client->intraComm, &requests[requests_position++]); 
    549     ep_lib::MPI_Irecv(recvMaskDst[recvRank], recvSize, EP_UNSIGNED_CHAR, recvRank, 47, client->intraComm, &requests[requests_position++]); 
    550  
    551     //requests.push_back(ep_lib::MPI_Request()); 
    552     //ep_lib::MPI_Irecv(recvGlobalIndexSrc[recvRank], recvSize, EP_UNSIGNED_LONG, recvRank, 46, client->intraComm, &requests.back()); 
    553     //requests.push_back(ep_lib::MPI_Request()); 
    554     //ep_lib::MPI_Irecv(recvMaskDst[recvRank], recvSize, EP_UNSIGNED_CHAR, recvRank, 47, client->intraComm, &requests.back()); 
     547    requests.push_back(MPI_Request()); 
     548    MPI_Irecv(recvGlobalIndexSrc[recvRank], recvSize, MPI_UNSIGNED_LONG, recvRank, 46, client->intraComm, &requests.back()); 
     549    requests.push_back(MPI_Request()); 
     550    MPI_Irecv(recvMaskDst[recvRank], recvSize, MPI_UNSIGNED_CHAR, recvRank, 47, client->intraComm, &requests.back()); 
    555551  } 
    556552 
     
    587583 
    588584    // Send global index source and mask 
    589     ep_lib::MPI_Isend(sendGlobalIndexSrc[sendRank], sendSize, EP_UNSIGNED_LONG, sendRank, 46, client->intraComm, &requests[requests_position++]); 
    590     ep_lib::MPI_Isend(sendMaskDst[sendRank], sendSize, EP_UNSIGNED_CHAR, sendRank, 47, client->intraComm, &requests[requests_position++]); 
    591     //requests.push_back(ep_lib::MPI_Request()); 
    592     //ep_lib::MPI_Isend(sendGlobalIndexSrc[sendRank], sendSize, EP_UNSIGNED_LONG, sendRank, 46, client->intraComm, &requests.back()); 
    593     //requests.push_back(ep_lib::MPI_Request()); 
    594     //ep_lib::MPI_Isend(sendMaskDst[sendRank], sendSize, EP_UNSIGNED_CHAR, sendRank, 47, client->intraComm, &requests.back()); 
     585    requests.push_back(MPI_Request()); 
     586    MPI_Isend(sendGlobalIndexSrc[sendRank], sendSize, MPI_UNSIGNED_LONG, sendRank, 46, client->intraComm, &requests.back()); 
     587    requests.push_back(MPI_Request()); 
     588    MPI_Isend(sendMaskDst[sendRank], sendSize, MPI_UNSIGNED_CHAR, sendRank, 47, client->intraComm, &requests.back()); 
    595589  } 
    596590 
    597591  status.resize(requests.size()); 
    598   ep_lib::MPI_Waitall(requests.size(), &requests[0], &status[0]); 
     592  MPI_Waitall(requests.size(), &requests[0], &status[0]); 
    599593 
    600594  // Okie, now use the mask to identify which index source we need to send, then also signal the destination which masked index we will return 
    601   requests.resize(sendRankSizeMap.size() + recvRankSizeMap.size()); 
    602   requests_position = 0; 
    603   std::vector<ep_lib::MPI_Status>().swap(status); 
     595  std::vector<MPI_Request>().swap(requests); 
     596  std::vector<MPI_Status>().swap(status); 
    604597  // Okie, on destination side, we will wait for information of masked index of source 
    605598  for (std::map<int,int>::const_iterator itSend = sendRankSizeMap.begin(); itSend != sendRankSizeMap.end(); ++itSend) 
     
    608601    int recvSize = itSend->second; 
    609602 
    610     ep_lib::MPI_Irecv(sendMaskDst[recvRank], recvSize, EP_UNSIGNED_CHAR, recvRank, 48, client->intraComm, &requests[requests_position++]); 
    611     //requests.push_back(ep_lib::MPI_Request()); 
    612     //ep_lib::MPI_Irecv(sendMaskDst[recvRank], recvSize, EP_UNSIGNED_CHAR, recvRank, 48, client->intraComm, &requests.back()); 
     603    requests.push_back(MPI_Request()); 
     604    MPI_Irecv(sendMaskDst[recvRank], recvSize, MPI_UNSIGNED_CHAR, recvRank, 48, client->intraComm, &requests.back()); 
    613605  } 
    614606 
     
    646638 
    647639    // Okie, now inform the destination which source index are masked 
    648     ep_lib::MPI_Isend(recvMaskDst[recvRank], recvSize, EP_UNSIGNED_CHAR, recvRank, 48, client->intraComm, &requests[requests_position++]); 
    649     //requests.push_back(ep_lib::MPI_Request()); 
    650     //ep_lib::MPI_Isend(recvMaskDst[recvRank], recvSize, EP_UNSIGNED_CHAR, recvRank, 48, client->intraComm, &requests.back()); 
     640    requests.push_back(MPI_Request()); 
     641    MPI_Isend(recvMaskDst[recvRank], recvSize, MPI_UNSIGNED_CHAR, recvRank, 48, client->intraComm, &requests.back()); 
    651642  } 
    652643  status.resize(requests.size()); 
    653   ep_lib::MPI_Waitall(requests.size(), &requests[0], &status[0]); 
     644  MPI_Waitall(requests.size(), &requests[0], &status[0]); 
    654645 
    655646  // Cool, now we can fill in local index of grid destination (counted for masked index) 
Note: See TracChangeset for help on using the changeset viewer.