- Timestamp:
- 08/31/22 17:23:56 (22 months ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
XIOS3/trunk/src/distribution/grid_client_server_remote_connector.cpp
r2304 r2397 38 38 } 39 39 } 40 41 void CGridClientServerRemoteConnector::computeConnectorOut() 42 { 43 set<int> workflowRankToRemove ; 44 vector<bool> workflowIsSrcViewDistributed ; 45 { 46 auto workflowRemoteConnector=make_shared<CGridRemoteConnector>(srcWorkflowView_,dstView_,localComm_,remoteSize_) ; 47 workflowRemoteConnector->computeViewDistribution() ; 48 workflowRemoteConnector->computeConnectorMethods(false) ; 49 workflowRemoteConnector->computeRedondantRanks(false) ; 50 workflowRankToRemove = workflowRemoteConnector->getRankToRemove() ; 51 workflowIsSrcViewDistributed = workflowRemoteConnector->getIsSrcViewDistributed() ; 52 } 53 54 computeViewDistribution() ; 55 56 for(int i=0;i<srcView_.size();i++) isSrcViewDistributed_[i] = isSrcViewDistributed_[i] || workflowIsSrcViewDistributed[i] ; 57 computeConnectorMethods(false) ; 58 computeRedondantRanks(false) ; 40 59 60 for(auto& rank : rankToRemove_) 61 if (workflowRankToRemove.count(rank)!=0) 62 for(auto& element : elements_) element.erase(rank) ; 63 } 64 65 void CGridClientServerRemoteConnector::computeConnectorIn() 66 { 67 set<int> workflowRankToRemove ; 68 vector<bool> workflowIsSrcViewDistributed ; 69 { 70 auto workflowRemoteConnector=make_shared<CGridRemoteConnector>(srcWorkflowView_,dstView_,localComm_,remoteSize_) ; 71 workflowRemoteConnector->computeViewDistribution() ; 72 workflowRemoteConnector->computeConnectorMethods(true) ; 73 workflowRemoteConnector->computeRedondantRanks(true) ; 74 workflowRankToRemove = workflowRemoteConnector->getRankToRemove() ; 75 workflowIsSrcViewDistributed = workflowRemoteConnector->getIsSrcViewDistributed() ; 76 } 77 78 computeViewDistribution() ; 79 80 for(int i=0;i<srcView_.size();i++) isSrcViewDistributed_[i] = isSrcViewDistributed_[i] || workflowIsSrcViewDistributed[i] ; 81 computeConnectorMethods(true) ; 82 computeRedondantRanks(true) ; 83 84 for(auto& rank : rankToRemove_) 85 if (workflowRankToRemove.count(rank)!=0) 86 for(auto& element : elements_) element.erase(rank) ; 87 } 41 88 }
Note: See TracChangeset
for help on using the changeset viewer.