NamdCentLB.h File Reference

#include <CentralLB.h>
#include "NamdCentLB.decl.h"
#include "Node.h"
#include "PatchMap.h"
#include "SimParameters.h"
#include "RefineOnly.h"
#include "Alg7.h"
#include "AlgRecBisection.h"
#include "InfoStream.h"
#include "TorusLB.h"
#include "RefineTorusLB.h"

Go to the source code of this file.

Classes

class  NamdCentLB

Functions

void CreateNamdCentLB ()
NamdCentLBAllocateNamdCentLB ()


Detailed Description

This class decides which load balancers to invoke. By default if nothing is specified in the config file, AlgSeven and RefineOnly are used. This is when each gets invoked:

If we choose firstLdbStep = 20 and ldbPeriod = 100, we have the following timeline (for these particular numbers):

Tracing : <---- off ----><------------ on -----------><-- off ldbCycleNum : 1 2 3 4 5 6 7 8 9 Iteration Steps : 00===20===40===60===80======160===180======260===280 Ldb Step() No : 1 2 3 4 5 6 7 Ldb Strategy : Alg7 Ref Ref Inst Ref Inst Ref Alg7

Alg7 = AlgSeven Ref = Refine (NamdCentLB.C, Rebalancer.C) Inst = Instrumentation Phase (no real load balancing)

This class also fills in the NAMD load balancing data structures from the Charm LDBStats

Definition in file NamdCentLB.h.


Function Documentation

NamdCentLB* AllocateNamdCentLB (  ) 

Definition at line 37 of file NamdCentLB.C.

Referenced by NamdHybridLB::NamdHybridLB().

00037                                  {
00038   return new NamdCentLB((CkMigrateMessage*)NULL);
00039 }

void CreateNamdCentLB (  ) 

Definition at line 26 of file NamdCentLB.C.

References cpuloads.

Referenced by LdbCoordinator::createLoadBalancer(), LdbCoordinator::initialize(), and LdbCoordinator::LdbCoordinator().

00026                         {
00027   // CkPrintf("[%d] creating NamdCentLB %d\n",CkMyPe(),loadbalancer);
00028   loadbalancer = CProxy_NamdCentLB::ckNew();
00029   // CkPrintf("[%d] created NamdCentLB %d\n",CkMyPe(),loadbalancer);
00030   if (CkMyRank() == 0 && cpuloads == NULL) {    
00031     cpuloads = new double[CkNumPes()];
00032     CmiAssert(cpuloads != NULL);
00033     for (int i=0; i<CkNumPes(); i++) cpuloads[i] = 0.0;
00034   }
00035 }


Generated on Sun Nov 19 01:17:16 2017 for NAMD by  doxygen 1.4.7