Ignore:
Timestamp:
10/11/21 14:41:56 (3 years ago)
Author:
ymipsl
Message:
  • Update of the tranfer protocol using one sided communication
  • Introduce MPI_Improb/MPI_mrecv to listen incomming request
  • Introducing latency when looping over managers

YM

File:
1 edited

Legend:

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

    r2230 r2246  
    1919    bool eventLoop(bool enableEventsProcessing = true); 
    2020    void listen(void) ; 
    21     bool listenPendingRequest(MPI_Status& status) ; 
     21//    bool listenPendingRequest(MPI_Status& status) ; 
     22    bool listenPendingRequest(MPI_Message &message, MPI_Status& status) ; 
     23    void checkPendingProbe(void) ; 
    2224    void checkPendingRequest(void) ; 
    2325    void getBufferFromClient(size_t timeLine) ; 
     
    4244    MPI_Comm interCommMerged; //!< Communicator of the client group + server group (intraCommunicator) needed for one sided communication. 
    4345 
    44     MPI_Comm commSelf; //!< Communicator of the server alone. Needed to create a new communicator between 1 proc client and 1 proc server for one sided communication 
    45  
    4646    map<int,CServerBuffer*> buffers ; 
    4747    map<int,size_t> lastTimeLine ; //!< last event time line for a processed request 
    4848    map<int,size_t>::iterator itLastTimeLine ; //!< iterator on lastTimeLine 
     49    map<int, list<std::pair<MPI_Message,MPI_Status> > > pendingProbe; 
    4950    map<int,MPI_Request> pendingRequest ; 
    5051    map<int,char*> bufferRequest ; 
Note: See TracChangeset for help on using the changeset viewer.