Ignore:
Timestamp:
08/26/16 15:07:20 (8 years ago)
Author:
ymipsl
Message:

Improve remapper :

  • increase stability for smal grid remapping
  • increase stability for large number of processes

YM

File:
1 edited

Legend:

Unmodified
Added
Removed
  • XIOS/trunk/extern/remap/src/node.hpp

    r688 r923  
    128128        void *data; 
    129129        int route; 
    130  
    131         Node() : level(0), leafCount(1), centre(ORIGIN), radius(0), reinserted(false), updateCount(0) {} 
     130  bool toDelete ; 
     131 
     132        Node() : level(0), leafCount(1), centre(ORIGIN), radius(0), reinserted(false), updateCount(0), toDelete(false) {} 
    132133        Node(const Coord& centre, double radius, void *data) 
    133                 : level(0), leafCount(1), centre(centre), radius(radius), reinserted(false), updateCount(0), data(data) {} 
     134                : level(0), leafCount(1), centre(centre), radius(radius), reinserted(false), updateCount(0), data(data), toDelete(false) {} 
    134135 
    135136//#ifdef DEBUG 
     
    191192        bool isInside(Node &node); 
    192193        int incluCheck(); 
     194  void checkParent(void) ; 
    193195        void printChildren(); 
    194196        void assignRoute(std::vector<int>::iterator& rank, int level); 
     
    198200        void routingIntersecting(std::vector<Node>* routingList, NodePtr node); 
    199201        void routeIntersection(std::vector<int>& routes, NodePtr node); 
    200  
    201         void free_descendants(); 
     202  void getNodeLevel(int level,std::list<NodePtr>& NodeList) ; 
     203  bool removeDeletedNodes(int assignLevel) ; 
     204  void free_descendants(); 
    202205}; 
    203206 
     
    207210NodePtr reinsert(NodePtr); 
    208211NodePtr insert(NodePtr, NodePtr); 
    209 void slim2(NodePtr thIs, int level); 
     212void slim2(NodePtr thIs, int level, int minNodeSize=MIN_NODE_SZ); 
    210213 
    211214} 
Note: See TracChangeset for help on using the changeset viewer.