Ignore:
Timestamp:
09/26/23 17:24:35 (10 months ago)
Author:
ymipsl
Message:

Tracking unfree MPI windows and communicators.

YM

File:
1 edited

Legend:

Unmodified
Added
Removed
  • XIOS3/trunk/src/server.cpp

    r2576 r2580  
    102102 
    103103        MPI_Comm_split(globalComm, color, commRank, &serverComm) ; 
     104        CXios::getMpiGarbageCollector().registerCommunicator(serverComm) ; 
     105 
    104106      } 
    105107      else // using OASIS 
     
    118120      } 
    119121      MPI_Comm_dup(serverComm, &intraComm_); 
     122      CXios::getMpiGarbageCollector().registerCommunicator(intraComm_) ; 
    120123       
    121124      CTimer::get("XIOS").resume() ; 
     
    165168      MPI_Comm_rank(CXios::getXiosComm(), &commRank) ; 
    166169      MPI_Comm_split(CXios::getXiosComm(),true,commRank,&serversComm_) ; 
     170      CXios::getMpiGarbageCollector().registerCommunicator(serversComm_) ; 
    167171       
    168172      CXios::setUsingServer() ; 
     
    443447      {   
    444448        MPI_Intercomm_create(intraComm, 0, globalComm, clientsRank[i], 3141, &interComm); 
     449        CXios::getMpiGarbageCollector().registerCommunicator(interComm) ; 
    445450        interCommLeft.push_back(interComm) ; 
    446451        MPI_Comm_free(&intraComm) ; 
     
    598603       
    599604      CContext::removeAllContexts() ; // free memory for related context 
    600            
     605       
    601606      CXios::getMpiGarbageCollector().release() ; // release unfree MPI ressources 
    602  
     607      MPI_Comm xiosComm=CXios::getXiosComm() ; 
     608      MPI_Comm_free(&xiosComm) ; 
    603609      CMemChecker::logMem( "CServer::finalize", true ); 
    604610       
Note: See TracChangeset for help on using the changeset viewer.