Changeset 2589 for XIOS3/trunk/src/manager
- Timestamp:
- 10/06/23 11:32:05 (9 months ago)
- Location:
- XIOS3/trunk/src/manager
- Files:
-
- 5 edited
Legend:
- Unmodified
- Added
- Removed
-
XIOS3/trunk/src/manager/daemons_manager.cpp
r2547 r2589 17 17 MPI_Comm_rank(xiosComm,&commRank) ; 18 18 MPI_Comm splitComm ; 19 MPI_Comm_split(xiosComm,isXiosServer,commRank,&splitComm) ;19 xios::MPI_Comm_split(xiosComm,isXiosServer,commRank,&splitComm) ; 20 20 21 21 CXios::launchRegistryManager(isXiosServer) ; … … 28 28 if (isXiosServer) CServer::launchServersRessource(splitComm) ; 29 29 MPI_Barrier(xiosComm) ; 30 MPI_Comm_free(&splitComm) ;30 xios::MPI_Comm_free(&splitComm) ; 31 31 } 32 32 -
XIOS3/trunk/src/manager/pool_ressource.cpp
r2580 r2589 15 15 { 16 16 int commRank, commSize ; 17 MPI_Comm_dup(poolComm, &poolComm_) ;17 xios::MPI_Comm_dup(poolComm, &poolComm_) ; 18 18 CXios::getMpiGarbageCollector().registerCommunicator(poolComm_) ; 19 19 winNotify_ = new CWindowManager(poolComm_, maxBufferSize_,"CPoolRessource::winNotify_") ; … … 336 336 else color=1 ; 337 337 MPI_Comm_rank(poolComm_,&commRank) ; 338 MPI_Comm_split(poolComm_, color, commRank, &freeComm) ; // workaround338 xios::MPI_Comm_split(poolComm_, color, commRank, &freeComm) ; // workaround 339 339 340 340 if (services_.empty()) 341 341 { 342 342 MPI_Comm_rank(freeComm,&commRank) ; 343 MPI_Comm_split(freeComm, in, commRank, &serviceComm) ;343 xios::MPI_Comm_split(freeComm, in, commRank, &serviceComm) ; 344 344 345 345 // temporary for event scheduler, we must using hierarchical split of free ressources communicator. … … 364 364 else partitionId = serviceCommRank / (serviceCommSize/nbPartitions + 1) ; 365 365 366 MPI_Comm_split(serviceComm, partitionId, commRank, &newServiceComm) ;366 xios::MPI_Comm_split(serviceComm, partitionId, commRank, &newServiceComm) ; 367 367 368 368 MPI_Comm_size(newServiceComm,&serviceCommSize) ; … … 378 378 services_[std::make_tuple(serviceId,partitionId)] = new CService(newServiceComm, childScheduler, Id_, serviceId, partitionId, type, nbPartitions) ; 379 379 380 MPI_Comm_free(&newServiceComm) ;380 xios::MPI_Comm_free(&newServiceComm) ; 381 381 } 382 382 else … … 388 388 isFirstSplit_=false ; 389 389 } 390 MPI_Comm_free(&serviceComm) ;391 } 392 MPI_Comm_free(&freeComm) ;390 xios::MPI_Comm_free(&serviceComm) ; 391 } 392 xios::MPI_Comm_free(&freeComm) ; 393 393 } 394 394 … … 404 404 const MPI_Comm& serviceComm = service.second->getCommunicator() ; 405 405 MPI_Comm newServiceComm ; 406 MPI_Comm_dup(serviceComm, &newServiceComm) ;406 xios::MPI_Comm_dup(serviceComm, &newServiceComm) ; 407 407 CXios::getMpiGarbageCollector().registerCommunicator(newServiceComm) ; 408 408 int nbPartitions = service.second->getNbPartitions() ; -
XIOS3/trunk/src/manager/server_context.cpp
r2588 r2589 23 23 int localRank, globalRank, commSize ; 24 24 25 MPI_Comm_dup(contextComm, &contextComm_) ;25 xios::MPI_Comm_dup(contextComm, &contextComm_) ; 26 26 CXios::getMpiGarbageCollector().registerCommunicator(contextComm_) ; 27 27 xiosComm_=CXios::getXiosComm() ; … … 104 104 { 105 105 MPI_Comm newInterCommClient, newInterCommServer ; 106 MPI_Comm_dup(contextComm_,&newInterCommClient) ;107 MPI_Comm_dup(contextComm_,&newInterCommServer) ;106 xios::MPI_Comm_dup(contextComm_,&newInterCommClient) ; 107 xios::MPI_Comm_dup(contextComm_,&newInterCommServer) ; 108 108 overlapedComm_[name_]=tuple<bool, MPI_Comm, MPI_Comm>(false, newInterCommClient, newInterCommServer) ; 109 109 MPI_Barrier(contextComm_) ; … … 129 129 if (nOverlap==0) 130 130 { 131 MPI_Intercomm_create(intraComm, 0, xiosComm_, contextLeader, 3141, &interCommClient) ;131 xios::MPI_Intercomm_create(intraComm, 0, xiosComm_, contextLeader, 3141, &interCommClient) ; 132 132 CXios::getMpiGarbageCollector().registerCommunicator(interCommClient) ; 133 MPI_Comm_dup(interCommClient, &interCommServer) ;133 xios::MPI_Comm_dup(interCommClient, &interCommServer) ; 134 134 CXios::getMpiGarbageCollector().registerCommunicator(interCommServer) ; 135 MPI_Comm_free(&newInterCommClient) ;136 MPI_Comm_free(&newInterCommServer) ;135 xios::MPI_Comm_free(&newInterCommClient) ; 136 xios::MPI_Comm_free(&newInterCommServer) ; 137 137 } 138 138 else … … 320 320 { 321 321 info(10)<<"CServerContext::createIntercomm : No overlap ==> context in server mode"<<endl ; 322 MPI_Intercomm_create(contextComm_, 0, xiosComm_, remoteLeader, 3141, &interCommServer) ;322 xios::MPI_Intercomm_create(contextComm_, 0, xiosComm_, remoteLeader, 3141, &interCommServer) ; 323 323 CXios::getMpiGarbageCollector().registerCommunicator(interCommServer) ; 324 MPI_Comm_dup(interCommServer,&interCommClient) ;324 xios::MPI_Comm_dup(interCommServer,&interCommClient) ; 325 325 CXios::getMpiGarbageCollector().registerCommunicator(interCommClient) ; 326 326 context_ -> createClientInterComm(interCommClient,interCommServer) ; … … 339 339 //delete winNotify_ ; 340 340 //winNotify_=nullptr ; 341 // MPI_Comm_free(&contextComm_) ;341 //xios::MPI_Comm_free(&contextComm_) ; 342 342 // don't forget intercomm -> later 343 343 } -
XIOS3/trunk/src/manager/servers_ressource.cpp
r2580 r2589 22 22 { 23 23 24 MPI_Comm_dup(serverComm, &serverComm_) ;24 xios::MPI_Comm_dup(serverComm, &serverComm_) ; 25 25 CXios::getMpiGarbageCollector().registerCommunicator(serverComm_) ; 26 26 MPI_Comm xiosComm=CXios::getXiosComm() ; … … 42 42 } 43 43 44 MPI_Comm_dup(serverComm_, &freeRessourcesComm_) ;44 xios::MPI_Comm_dup(serverComm_, &freeRessourcesComm_) ; 45 45 CXios::getMpiGarbageCollector().registerCommunicator(freeRessourcesComm_) ; 46 46 eventScheduler_ = make_shared<CEventScheduler>(freeRessourcesComm_) ; … … 225 225 MPI_Comm poolComm ; 226 226 MPI_Comm_rank(freeRessourcesComm_,&commRank) ; 227 MPI_Comm_split(freeRessourcesComm_, isPartOf, commRank, &poolComm) ;227 xios::MPI_Comm_split(freeRessourcesComm_, isPartOf, commRank, &poolComm) ; 228 228 229 229 shared_ptr<CEventScheduler> parentScheduler, childScheduler ; … … 236 236 { 237 237 poolRessource_ = new CPoolRessource(poolComm, childScheduler, poolId, true) ; 238 MPI_Comm_free(&poolComm) ;238 xios::MPI_Comm_free(&poolComm) ; 239 239 } 240 240 else 241 241 { 242 242 freeRessourceEventScheduler_ = childScheduler ; 243 MPI_Comm_free(&freeRessourcesComm_) ;243 xios::MPI_Comm_free(&freeRessourcesComm_) ; 244 244 freeRessourcesComm_=poolComm ; 245 245 } -
XIOS3/trunk/src/manager/services.cpp
r2580 r2589 21 21 int localRank, globalRank, commSize ; 22 22 23 MPI_Comm_dup(serviceComm, &serviceComm_) ;23 xios::MPI_Comm_dup(serviceComm, &serviceComm_) ; 24 24 CXios::getMpiGarbageCollector().registerCommunicator(serviceComm_) ; 25 25 MPI_Comm globalComm_=CXios::getXiosComm() ;
Note: See TracChangeset
for help on using the changeset viewer.