00001 00005 00006 #ifndef HYBRIDLB_H 00007 #define HYBRIDLB_H 00008 00009 #include "CentralLB.h" 00010 #include "HybridBaseLB.h" 00011 #include "HybridLB.decl.h" 00012 00013 #include "topology.h" 00014 00015 void CreateHybridLB(); 00016 00017 class HybridLB : public CBase_HybridLB 00018 { 00019 public: 00020 HybridLB(const CkLBOptions &); 00021 HybridLB(CkMigrateMessage *m): CBase_HybridLB(m) {} 00022 ~HybridLB(); 00023 00024 protected: 00025 CentralLB *greedy; 00026 CentralLB *refine; 00027 00028 virtual bool QueryBalanceNow(int) { return true; }; 00029 virtual bool QueryMigrateStep(int) { return true; }; 00030 virtual void work(LDStats* stats); 00031 00032 }; 00033 00034 #endif /* NBORBASELB_H */ 00035