Changeset 1958
- Timestamp:
- 10/08/20 13:14:05 (4 years ago)
- Location:
- XIOS/dev/dev_ym/XIOS_COUPLING/src/node
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
XIOS/dev/dev_ym/XIOS_COUPLING/src/node/scalar.cpp
r1943 r1958 303 303 } 304 304 305 void CScalar::distributeToServer(CContextClient* client, std::map<int, CArray<size_t,1>>& globalIndex, const string& scalarId)306 {307 305 void CScalar::distributeToServer(CContextClient* client, std::map<int, CArray<size_t,1>>& globalIndex, 306 CScattererConnector* &scattererConnector, const string& scalarId) 307 { 308 308 string serverScalarId = scalarId.empty() ? this->getId() : scalarId ; 309 309 CContext* context = CContext::getCurrent(); … … 313 313 CDistributedElement scatteredElement(1,globalIndex) ; 314 314 scatteredElement.addFullView() ; 315 CScattererConnector scattererConnector(localElement_->getView(CElementView::FULL), scatteredElement.getView(CElementView::FULL),316 context->getIntraComm(), client->getRemoteSize()) ;317 scattererConnector .computeConnector() ;315 scattererConnector = new CScattererConnector(localElement_->getView(CElementView::FULL), scatteredElement.getView(CElementView::FULL), 316 context->getIntraComm(), client->getRemoteSize()) ; 317 scattererConnector->computeConnector() ; 318 318 319 319 // phase 0 … … 329 329 CMessage message1 ; 330 330 message1<<serverScalarId<<1<<localElement_->getView(CElementView::FULL)->getGlobalSize() ; 331 scattererConnector .transfer(localElement_->getView(CElementView::FULL)->getGlobalIndex(),client,event1,message1) ;332 333 sendDistributedAttributes(client, scattererConnector, scalarId) ;331 scattererConnector->transfer(localElement_->getView(CElementView::FULL)->getGlobalIndex(),client,event1,message1) ; 332 333 sendDistributedAttributes(client, *scattererConnector, scalarId) ; 334 334 335 335 // phase 2 send the mask : data index + mask2D … … 344 344 map<int,CArray<size_t,1>> workflowGlobalIndex ; 345 345 map<int,CArray<bool,1>> maskOut2 ; 346 scattererConnector .transfer(maskOut, maskOut2) ;346 scattererConnector->transfer(maskOut, maskOut2) ; 347 347 scatteredElement.addView(CElementView::WORKFLOW, maskOut2) ; 348 348 scatteredElement.getView(CElementView::WORKFLOW)->getGlobalIndexView(workflowGlobalIndex) ; … … 396 396 else if (phasis==2) 397 397 { 398 delete gathererConnector_ ;398 // delete gathererConnector_ ; 399 399 elementFrom_ = new CDistributedElement(event) ; 400 400 elementFrom_->addFullView() ; 401 gathererConnector_ = new CGathererConnector(elementFrom_->getView(CElementView::FULL), localElement_->getView(CElementView::FULL)) ;402 gathererConnector_ -> computeConnector() ;401 // gathererConnector_ = new CGathererConnector(elementFrom_->getView(CElementView::FULL), localElement_->getView(CElementView::FULL)) ; 402 // gathererConnector_ -> computeConnector() ; 403 403 } 404 404 } -
XIOS/dev/dev_ym/XIOS_COUPLING/src/node/scalar.hpp
r1943 r1958 175 175 public: 176 176 void computeRemoteElement(CContextClient* client, EDistributionType) ; 177 void distributeToServer(CContextClient* client, std::map<int, CArray<size_t,1>>& globalIndex, const string& scalarId="") ; 177 void distributeToServer(CContextClient* client, std::map<int, CArray<size_t,1>>& globalIndex, CScattererConnector* &scattererConnector, 178 const string& scalarId="") ; 179 178 180 static void recvScalarDistribution(CEventServer& event) ; 179 181 void receivedScalarDistribution(CEventServer& event, int phasis) ;
Note: See TracChangeset
for help on using the changeset viewer.