Changeset 1943 for XIOS/dev/dev_ym/XIOS_COUPLING/src/node/domain.cpp
- Timestamp:
- 09/25/20 16:09:35 (4 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
XIOS/dev/dev_ym/XIOS_COUPLING/src/node/domain.cpp
r1938 r1943 2305 2305 CDistributedElement scatteredElement(ni_glo*nj_glo, globalIndex) ; 2306 2306 scatteredElement.addFullView() ; 2307 CScattererConnector scattererConnector(localElement_->getView(CElementView::FULL), scatteredElement.getView(CElementView::FULL), context->getIntraComm()) ; 2307 CScattererConnector scattererConnector(localElement_->getView(CElementView::FULL), scatteredElement.getView(CElementView::FULL), 2308 context->getIntraComm(), client->getRemoteSize()) ; 2308 2309 scattererConnector.computeConnector() ; 2309 2310 … … 2347 2348 message2<<serverDomainId<<2 ; 2348 2349 clientToServerElement.sendToServer(client, event2, message2) ; 2349 clientToServerConnector_[client] = new CScattererConnector(localElement_->getView(CElementView::WORKFLOW), 2350 clientToServerElement.getView(CElementView::FULL), context->getIntraComm()) ;2350 clientToServerConnector_[client] = new CScattererConnector(localElement_->getView(CElementView::WORKFLOW), clientToServerElement.getView(CElementView::FULL), 2351 context->getIntraComm(), client->getRemoteSize()) ; 2351 2352 clientToServerConnector_[client]->computeConnector() ; 2352 2353 2353 2354 CEventClient event3(getType(), EVENT_ID_DOMAIN_DISTRIBUTION);2355 CMessage message3 ;2356 message3<<serverDomainId<<3 ;2357 clientToServerConnector_[client]->transfer(maskIn,client,event3,message3) ;2358 2359 2354 clientFromServerConnector_[client] = new CGathererConnector(clientToServerElement.getView(CElementView::FULL), localElement_->getView(CElementView::WORKFLOW)); 2360 2355 clientFromServerConnector_[client]->computeConnector() ; … … 2418 2413 gathererConnector_ -> computeConnector() ; 2419 2414 } 2420 else if (phasis==3) 2421 { 2422 CArray<bool,1> localMask ; 2423 gathererConnector_->transfer(event,localMask,false) ; 2424 localElement_->addView(CElementView::WORKFLOW, localMask) ; 2425 mask_1d.reference(localMask.copy()) ; 2415 } 2416 CATCH 2417 2418 void CDomain::setServerMask(CArray<bool,1>& serverMask, CContextClient* client) 2419 TRY 2420 { 2421 // nota : the client is needed to get the remote size for the scatterer connector. Maybe it is not the good place for this 2422 // Later, server to client connector can be computed on demand, with "client" as argument 2423 CContext* context = CContext::getCurrent(); 2424 localElement_->addView(CElementView::WORKFLOW, serverMask) ; 2425 mask_1d.reference(serverMask.copy()) ; 2426 2426 2427 2428 2427 serverFromClientConnector_ = new CGathererConnector(elementFrom_->getView(CElementView::FULL), localElement_->getView(CElementView::WORKFLOW)) ; 2428 serverFromClientConnector_->computeConnector() ; 2429 2429 2430 serverToClientConnector_ = new CScattererConnector(localElement_->getView(CElementView::WORKFLOW), elementFrom_->getView(CElementView::FULL), 2431 context->getIntraComm()) ; 2432 serverToClientConnector_->computeConnector() ; 2433 2434 } 2435 } 2436 CATCH 2430 serverToClientConnector_ = new CScattererConnector(localElement_->getView(CElementView::WORKFLOW), elementFrom_->getView(CElementView::FULL), 2431 context->getIntraComm(), client->getRemoteSize()) ; 2432 serverToClientConnector_->computeConnector() ; 2433 } 2434 CATCH_DUMP_ATTR 2437 2435 2438 2436 … … 2579 2577 CDistributedElement scatteredElement(remoteElement.getGlobalSize(), remoteConnector.getDistributedGlobalIndex()) ; 2580 2578 scatteredElement.addFullView() ; 2581 CScattererConnector scatterConnector(localElement_->getView(CElementView::FULL), scatteredElement.getView(CElementView::FULL), context->getIntraComm()) ; 2579 CScattererConnector scatterConnector(localElement_->getView(CElementView::FULL), scatteredElement.getView(CElementView::FULL), 2580 context->getIntraComm(), client->getRemoteSize()) ; 2582 2581 scatterConnector.computeConnector() ; 2583 2582 CGridScattererConnector gridScatter({&scatterConnector}) ;
Note: See TracChangeset
for help on using the changeset viewer.