15class Orb3dLB :
public CBase_Orb3dLB {
16 friend class MultistepLB;
19 bool centroidsAllocated;
20 ComparatorFn compares[NDIMS];
21 ComparatorFn pc[NDIMS];
23 decltype(LDStats::to_proc) *mapping;
31 bool QueryBalanceNow(
int step);
33 void printData(BaseLB::LDStats &stats,
int phase,
int *revObjMap);
36 Orb3dLB(
const CkLBOptions &);
37 Orb3dLB(CkMigrateMessage *m) : CBase_Orb3dLB(m) {init();}
38 void work(BaseLB::LDStats* stats);
39 void directMap(
int tpstart,
int tpend,
int nodestart,
int nodeend);
40 void map(
int tpstart,
int tpend,
int nodestart,
int nodeend,
int xs,
int ys,
int zs,
int dim);
41 int nextDim(
int dim,
int xs,
int ys,
int zs);
42 void partitionEvenLoad(
int tpstart,
int tpend,
int &tpmid);
43 void halveNodes(
int nodestart,
int nodeend,
int &nodemid);