NAMD
NamdCentLB.h
Go to the documentation of this file.
1 /*****************************************************************************
2  * $Source: /home/cvs/namd/cvsroot/namd2/src/NamdCentLB.h,v $
3  * $Author: jim $
4  * $Date: 2013/08/22 15:17:18 $
5  * $Revision: 1.19 $
6  *****************************************************************************/
7 
33 #ifndef _NAMDCENTLB_H_
34 #define _NAMDCENTLB_H_
35 
36 #include <CentralLB.h>
37 #include "NamdCentLB.decl.h"
38 
39 #include "Node.h"
40 #include "PatchMap.h"
41 #include "SimParameters.h"
42 #include "RefineOnly.h"
43 #include "Alg7.h"
44 #include "AlgRecBisection.h"
45 #include "InfoStream.h"
46 #include "TorusLB.h"
47 #include "RefineTorusLB.h"
48 
49 void CreateNamdCentLB();
51 
52 class NamdCentLB : public CentralLB {
53 
54 public:
55  NamdCentLB(const CkLBOptions& opt);
56  NamdCentLB(CkMigrateMessage *);
57  CLBMigrateMsg* Strategy(LDStats* stats);
58 
59 private:
60  bool QueryBalanceNow(int step);
61  bool QueryDumpData();
62  int buildData(LDStats* stats);
63  int requiredProxies(PatchID id, int neighborNodes[]);
64 #if USE_TOPOMAP
65  int requiredProxiesOnProcGrid(PatchID id, int neighborNodes[]);
66 #endif
67  void dumpDataASCII(char *file, int numProcessors, int numPatches,
68  int numComputes);
69  void loadDataASCII(char *file, int &numProcessors, int &numPatches,
70  int &numComputes);
71 
72  computeInfo *computeArray;
73  patchInfo *patchArray;
74  processorInfo *processorArray;
75 };
76 
77 #endif /* _NAMDCENTLB_H_ */
NamdCentLB * AllocateNamdCentLB()
Definition: NamdCentLB.C:38
CLBMigrateMsg * Strategy(LDStats *stats)
Definition: NamdCentLB.C:88
void CreateNamdCentLB()
Definition: NamdCentLB.C:26
int PatchID
Definition: NamdTypes.h:182
__global__ void const int const TileList *__restrict__ TileExcl *__restrict__ const int *__restrict__ const int const float2 *__restrict__ cudaTextureObject_t const int *__restrict__ const float3 const float3 const float3 const float4 *__restrict__ const float cudaTextureObject_t cudaTextureObject_t float const PatchPairRecord *__restrict__ const int *__restrict__ const int2 *__restrict__ const unsigned int *__restrict__ unsigned int *__restrict__ int *__restrict__ int *__restrict__ TileListStat *__restrict__ const BoundingBox *__restrict__ float *__restrict__ float *__restrict__ float *__restrict__ float *__restrict__ float *__restrict__ float *__restrict__ float *__restrict__ float *__restrict__ const int numPatches
NamdCentLB(const CkLBOptions &opt)
Definition: NamdCentLB.C:51