Ignore:
Timestamp:
06/09/16 11:32:11 (5 years ago)
Author:
mhnguyen
Message:

Improving the performance of index distribution calculation

+) Preccompute all index by element

Test
+) On Curie
+) All tests pass

File:
1 edited

Legend:

Unmodified
Added
Removed
  • XIOS/trunk/src/distribution_client.hpp

    r843 r861  
    4343 
    4444    virtual const std::vector<int>& getLocalDataIndexOnClient(); 
    45     const GlobalLocalDataMap& getGlobalLocalDataSendToServer(); 
     45    GlobalLocalDataMap& getGlobalLocalDataSendToServer(); 
    4646    const std::vector<int>& getLocalMaskIndexOnClient(); 
    4747 
     
    101101    std::vector<CArray<bool,1> > axisMasks_; //!< Axis mask 
    102102 
    103     std::vector<std::vector<int> > localDomainIndex_; 
    104     std::vector<std::vector<int> > localAxisIndex_; 
    105103    std::vector<int> indexMap_; //!< Mapping element index to dimension index 
    106  
    107     // The correct index of a domain has true value, the ghost one has false value 
    108     std::vector<std::vector<bool> > indexDomainData_; 
    109     std::vector<std::vector<bool> > indexAxisData_; 
     104    std::vector<CArray<int,1> > elementLocalIndex_;  //!< Local index of each element 
     105    std::vector<CArray<size_t,1> > elementGlobalIndex_; //!< Global index of each element 
     106    std::vector<CArray<bool,1> > elementIndexData_; //!< // The correct index of a domain has true value, the ghost one has false value 
     107    std::vector<CArray<bool,1> > elementZoomMask_; //!< Only zoomed region are true 
     108    std::vector<size_t> elementNLocal_; 
     109    std::vector<size_t> elementNGlobal_; 
    110110 
    111111    //!< (Only for grid with one axis or scalar)Flag to determine whether data is distributed or not 
Note: See TracChangeset for help on using the changeset viewer.