Ignore:
Timestamp:
03/15/22 14:56:16 (2 years ago)
Author:
ymipsl
Message:

Implement small garbage collector for unfreed MPI windows and communicator.

YM

File:
1 edited

Legend:

Unmodified
Added
Removed
  • XIOS/dev/dev_ym/XIOS_COUPLING/src/context_server.cpp

    r2309 r2310  
    162162        MPI_Intercomm_create(commSelf_, 0, interCommMerged_, rank, 0 , &interComm) ; 
    163163        MPI_Intercomm_merge(interComm, true, &winComm_[rank]) ; 
     164        CXios::getMpiGarbageCollector().registerCommunicator(winComm_[rank]) ; 
     165        MPI_Comm_free(&interComm) ; 
    164166        windows_[rank].resize(2) ; 
    165167        MPI_Win_create_dynamic(MPI_INFO_NULL, winComm_[rank], &windows_[rank][0]); 
     168        CXios::getMpiGarbageCollector().registerWindow(windows_[rank][0]) ; 
    166169        MPI_Win_create_dynamic(MPI_INFO_NULL, winComm_[rank], &windows_[rank][1]); 
     170        CXios::getMpiGarbageCollector().registerWindow(windows_[rank][1]) ; 
    167171        CTimer::get("create Windows").suspend() ; 
    168172        MPI_Barrier(winComm_[rank]) ; 
Note: See TracChangeset for help on using the changeset viewer.