Changeset 1243 for XIOS/dev/XIOS_DEV_CMIP6/src/node/grid.hpp
- Timestamp:
- 08/28/17 12:15:49 (7 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
XIOS/dev/XIOS_DEV_CMIP6/src/node/grid.hpp
r1236 r1243 203 203 CArray<int, 1> storeIndex_client; 204 204 205 std::map<CContextClient*, map<int, CArray<int, 1> > > storeIndex_toSrv; // Same grid but can be sent to several pools 205 /** Map containing indexes that will be sent in sendIndex(). In future: change the key to pair<distrType, serverSize> (?) */ 206 std::map<CContextClient*, map<int, CArray<int, 1> > > storeIndex_toSrv; 207 206 208 map<int, CArray<int, 1> > storeIndex_fromSrv; // Support, for now, reading with level-1 server 209 210 207 211 std::map<CContextClient*, std::map<int,int> > nbSenders, nbReadSenders; 208 212 … … 215 219 map<int, CArray<size_t, 1> > outLocalIndexStoreOnClient; 216 220 217 // If a client wants to write out data, it'll use this index. 218 // A client receives global index of data from other clients (via recvIndex), 219 // then does remapping these index into local index to WRITE into a file 220 CArray<size_t,1> localIndexToWriteOnClient, localIndexToWriteOnServer; 221 /** Indexes calculated based on server distribution (serverDistribution_). They are used for writing data into a file. */ 222 CArray<size_t,1> localIndexToWriteOnServer; 223 224 /** Indexes calculated based on client distribution (clientDistribution_). They are not used at all. 225 They should be the same as localIndexToWriteOnServer and potentially can be used as an additional check.*/ 226 CArray<size_t,1> localIndexToWriteOnClient; 221 227 222 228 CArray<size_t,1> indexFromClients; … … 286 292 bool isAxisListSet, isDomListSet, isScalarListSet; 287 293 294 /** Distribution calculated in computeClientIndex() based on the knowledge of the entire grid */ 288 295 CDistributionClient* clientDistribution_; 296 297 /** Distribution calculated upon receiving indexes */ 289 298 CDistributionServer* serverDistribution_; 299 290 300 CClientServerMapping* clientServerMap_; 291 301 size_t writtenDataSize_; 292 302 int numberWrittenIndexes_, totalNumberWrittenIndexes_, offsetWrittenIndexes_; 303 304 /** Map storing ranks of connected servers. In future: change the key to the server size (?) */ 305 std::map<CContextClient*, std::vector<int> > connectedServerRank_; 306 307 /** Map storing data size that will be sent to connected servers. In future: change the key to the server size (?) */ 293 308 std::map<CContextClient*, std::map<int,size_t> > connectedDataSize_; 294 std::map<CContextClient*, std::vector<int> > connectedServerRank_; 309 295 310 bool isDataDistributed_; 296 311 //! True if and only if the data defined on the grid can be outputted in a compressed way … … 305 320 std::map<CGrid*, std::pair<bool,StdString> > gridSrc_; 306 321 bool hasTransform_; 322 323 /** Map storing data size that will be sent to connected servers. In future: change the key to the server size (?) */ 307 324 std::map<CContextClient*, CClientServerMapping::GlobalIndexMap> globalIndexOnServer_; 308 // List order of axis and domain in a grid, if there is a domain, it will take value 1 (true), axis 0 (false) 325 326 /** List order of axis and domain in a grid, if there is a domain, it will take value 1 (true), axis 0 (false) */ 309 327 std::vector<int> order_; 328 310 329 }; // class CGrid 311 330
Note: See TracChangeset
for help on using the changeset viewer.