Ignore:
Timestamp:
01/06/20 14:46:09 (4 years ago)
Author:
ymipsl
Message:

XIOS_COUPLING branch : more comments and cleaning

YM

File:
1 edited

Legend:

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

    r1794 r1847  
    315315// Maybe we need a flag to determine whether a client wants to write. TODO " 
    316316 
    317 /** Map storing received data on server side. This map is the equivalent of storeIndex_client, but for data not received from model 
    318   * instead that for client. This map is used to concatenate data received from several clients into a single array on server side 
     317/** Map storing received data on server side. This map is the equivalent to the storeIndex_client, but for data received from client 
     318  * instead that from model. This map is used to concatenate data received from several clients into a single array on server side 
    319319  * which match the local workflow grid. 
    320320  * outLocalIndexStoreOnClient_[client_rank] -> Array of index from client of rank "client_rank" 
    321321  * outLocalIndexStoreOnClient_[client_rank](index of buffer from client) -> local index of the workflow grid 
    322322  * The map is created in CGrid::computeClientIndex and filled upon receiving data in CField::recvUpdateData(). 
    323   * Symetrically it is also used to send data from a server to sevral client for reading case. */ 
     323  * Symetrically it is also used to send data from a server to several client for reading case. */ 
    324324         map<int, CArray<size_t, 1> > outLocalIndexStoreOnClient_;  
    325325 
     
    327327/** Indexes calculated based on server-like distribution. 
    328328 *  They are used for writing/reading data and only calculated for server level that does the writing/reading. 
    329  *  Along with localIndexToWriteOnClient, these indexes are used to correctly place incoming data. */ 
    330          CArray<size_t,1> localIndexToWriteOnServer; 
     329 *  Along with localIndexToWriteOnClient, these indexes are used to correctly place incoming data.  
     330 *  size of the array : numberWrittenIndexes_ : number of index written in a compressed way 
     331 *  localIndexToWriteOnServer_(compressed_written_index) : -> local uncompressed index that will be written in the file */ 
     332         CArray<size_t,1> localIndexToWriteOnServer_; 
    331333 
    332334/** Indexes calculated based on client-like distribution. 
    333335  * They are used for writing/reading data and only calculated for server level that does the writing/reading. 
    334   * Along with localIndexToWriteOnServer, these indexes are used to correctly place incoming data. */ 
    335          CArray<size_t,1> localIndexToWriteOnClient; 
    336  
    337          CArray<size_t,1> indexFromClients; 
    338  
     336  * Along with localIndexToWriteOnServer, these indexes are used to correctly place incoming data.  
     337  * size of the array : numberWrittenIndexes_ 
     338  * localIndexToWriteOnClient_(compressed_written_index) -> local index of the workflow grid*/ 
     339         CArray<size_t,1> localIndexToWriteOnClient_; 
    339340 
    340341      private: 
     
    344345        std::set<CContextClient*> clientsSet; 
    345346 
    346 /** Map storing received indexes. Key = sender rank, value = index array. */ 
    347          map<int, CArray<size_t, 1> > outGlobalIndexFromClient_; 
     347/** Map storing received indexes on server side sent by clients. Key = sender rank, value = global index array.  
     348    Later, the global indexes received will be mapped onto local index computed with the local distribution. 
     349    outGlobalIndexFromClient_[rank] -> array of global index send by client of rank "rank" 
     350    outGlobalIndexFromClient_[rank](n) -> global index of datav n sent by client 
     351*/ 
     352        map<int, CArray<size_t, 1> > outGlobalIndexFromClient_; 
    348353 
    349354        bool isChecked; 
     
    394399        bool hasTransform_; 
    395400 
    396 /** Map storing global indexes of server-like (band-wise) distribution for sending to receivers. 
    397   * Key = size of receiver's intracomm. 
     401/** Map storing global indexes of server-like (band-wise) distribution for sending to receivers (client side). 
     402  * Key = size of receiver's intracomm (i.e. number of servers) 
     403  * ~ map<int, umap<int, std::vector<size_t> >> globalIndexOnServer_ 
     404  * globalIndexOnServer_[servers_size] -> map for a distribution of size "servers_size" (number of servers) 
     405  * globalIndexOnServer_[servers_size][server_rank] -> array of global index managed by server of rank "server_rank" 
     406  * globalIndexOnServer_[servers_size][server_rank][n] -> global index of data to be send to the server by client based on sub element of the grid. 
     407  * -> grid masking is not included. 
    398408  */ 
    399409//        std::map<CContextClient*, CClientServerMapping::GlobalIndexMap> globalIndexOnServer_; 
Note: See TracChangeset for help on using the changeset viewer.