changa 3.5
Loading...
Searching...
No Matches
MultistepNodeLB_notopo.h
1/*****************************************************************************
2 * $Source$
3 * $Author$
4 * $Date$
5 * $Revision$
6 *****************************************************************************/
7
12
13#ifndef _MULTISTEPNODELB_NOTOPO_H_
14#define _MULTISTEPNODELB_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 "MultistepNodeLB_notopo.decl.h"
23
28class MultistepNodeLB_notopo : public CBase_MultistepNodeLB_notopo, public Orb3dCommon {
29private:
30
31 int prevMaxPredPe;
32
33 void init();
34 bool QueryBalanceNow(int step);
35
36public:
37 MultistepNodeLB_notopo(const CkLBOptions &);
38 MultistepNodeLB_notopo(CkMigrateMessage *m) : CBase_MultistepNodeLB_notopo(m) {
39 init();
40 }
41
42 void work(BaseLB::LDStats* stats);
43 void balanceTPs(BaseLB::LDStats* stats);
44 void balanceTPsNode(BaseLB::LDStats* stats);
45
46private:
47
48 enum {XDIR=0, YDIR, ZDIR};
49
50public:
51
52//**************************************
53// ORB3DLB functions
54//**************************************
55//
56 void work2(BaseLB::LDStats* stats, int count);
57 void greedy(BaseLB::LDStats* stats, int count);
58
59 void pup(PUP::er &p);
60};
61
62#endif /* _MultistepNodeLB_notopo */
63
void balanceTPsNode(BaseLB::LDStats *stats)
Refinement strategy to distribute TreePieces evenly among nodes. If heavily loaded nodes are detect,...
Definition MultistepNodeLB_notopo.cpp:246
void work(BaseLB::LDStats *stats)
Implement load balancing: store loads and decide whether to do ORB3D load balancing.
Definition MultistepNodeLB_notopo.cpp:51
void work2(BaseLB::LDStats *stats, int count)
ORB3D load balance across nodes (as opposed to processors).
Definition MultistepNodeLB_notopo.cpp:151
Common methods among Orb3d class load balancers.
Definition Orb3dLBCommon.h:41