Ignore:
Timestamp:
04/08/16 15:00:15 (8 years ago)
Author:
mhnguyen
Message:

Improvements for dht

+) Implement adaptive hierarchy for dht, level of hierarchy depends on number of processes
+) Remove some redundant codes

Test
+) On Curie
+) All tests are correct

File:
1 edited

Legend:

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

    r721 r833  
    2828}; 
    2929 
     30class DivideAdaptiveComm 
     31{ 
     32protected: 
     33  DivideAdaptiveComm(const MPI_Comm& mpiComm); 
     34 
     35  void computeMPICommLevel(); 
     36  const std::vector<int>& getGroupBegin() { return groupBegin_; } 
     37  const std::vector<int>& getNbInGroup() { return nbInGroup_; } 
     38  const std::vector<std::vector<int> >& getGroupParentsBegin() { return groupParentsBegin_; } 
     39  const std::vector<std::vector<int> >& getNbInGroupParents() { return nbInGroupParents_; } 
     40  int getNbLevel() { return level_; } 
     41 
     42protected: 
     43  const MPI_Comm& internalComm_; 
     44  std::vector<std::vector<int> > groupParentsBegin_; 
     45  std::vector<std::vector<int> > nbInGroupParents_; 
     46 
     47  int level_; 
     48  std::vector<int> groupBegin_;  //! Rank beginning of a group 
     49  std::vector<int> nbInGroup_; //! Number of process in each group 
     50  bool computed_; 
     51//  std::vector<std::vector<int> > child_; /*!< List of child rank for each level */ 
     52//  std::vector<int> nbChild_;         /*!< Number of child for each level */ 
     53}; 
     54 
    3055} 
    3156 
Note: See TracChangeset for help on using the changeset viewer.