changa 3.5
Loading...
Searching...
No Matches
MultistepLB_notopo.h
1/*****************************************************************************
2 * $Source$
3 * $Author$
4 * $Date$
5 * $Revision$
6 *****************************************************************************/
7
12
13#ifndef _MULTISTEPLB_NOTOPO_H_
14#define _MULTISTEPLB_NOTOPO_H_
15
16#define MCLBMS // multistepping enabled
17#define MCLB_ORBSMOOTH // orbsmooth for large steps
18#define MCLB_RR // round robin otherwise
19
20#include "Orb3dLBCommon.h"
21
22#include "MultistepLB_notopo.decl.h"
23
34class MultistepLB_notopo : public CBase_MultistepLB_notopo, public Orb3dCommon {
35private:
36 void init();
37 bool QueryBalanceNow(int step);
38#ifdef MCLBMSV
39 void makeActiveProcessorList(BaseLB::LDStats *stats, int numActiveObjs);
40#endif
41
42public:
43 MultistepLB_notopo(const CkLBOptions &);
44 MultistepLB_notopo(CkMigrateMessage *m) : CBase_MultistepLB_notopo(m) {
45 init();
46 }
47
48 void work(BaseLB::LDStats* stats);
49
50
51private:
52
53 enum {XDIR=0, YDIR, ZDIR};
54
55public:
56
57//**************************************
58// ORB3DLB functions
59//**************************************
60//
61 void work2(BaseLB::LDStats* stats, int count);
62 void greedy(BaseLB::LDStats* stats, int count);
63
64 void pup(PUP::er &p);
65};
66
67#endif /* _MultistepLB_notopo */
68
void work(BaseLB::LDStats *stats)
Implement load balancing: store loads and determine active processors and objects,...
Definition MultistepLB_notopo.cpp:63
void work2(BaseLB::LDStats *stats, int count)
ORB3D load balance.
Definition MultistepLB_notopo.cpp:147
Common methods among Orb3d class load balancers.
Definition Orb3dLBCommon.h:41