NamdCentLB.h

Go to the documentation of this file.
00001 /*****************************************************************************
00002  * $Source: /home/cvs/namd/cvsroot/namd2/src/NamdCentLB.h,v $
00003  * $Author: jim $
00004  * $Date: 2013/08/22 15:17:18 $
00005  * $Revision: 1.19 $
00006  *****************************************************************************/
00007 
00033 #ifndef _NAMDCENTLB_H_
00034 #define _NAMDCENTLB_H_
00035 
00036 #include <CentralLB.h>
00037 #include "NamdCentLB.decl.h"
00038 
00039 #include "Node.h"
00040 #include "PatchMap.h"
00041 #include "SimParameters.h"
00042 #include "RefineOnly.h"
00043 #include "Alg7.h"
00044 #include "AlgRecBisection.h"
00045 #include "InfoStream.h"
00046 #include "TorusLB.h"
00047 #include "RefineTorusLB.h"
00048 
00049 void CreateNamdCentLB();
00050 NamdCentLB *AllocateNamdCentLB();
00051 
00052 class NamdCentLB : public CentralLB {
00053 
00054 public:
00055   NamdCentLB();
00056   NamdCentLB(CkMigrateMessage *);
00057   CLBMigrateMsg* Strategy(LDStats* stats);
00058 
00059 private:
00060   bool QueryBalanceNow(int step);
00061   bool QueryDumpData();
00062   int buildData(LDStats* stats);
00063   int requiredProxies(PatchID id, int neighborNodes[]);
00064 #if USE_TOPOMAP 
00065   int requiredProxiesOnProcGrid(PatchID id, int neighborNodes[]);
00066 #endif
00067   void dumpDataASCII(char *file, int numProcessors, int numPatches,
00068                 int numComputes);
00069   void loadDataASCII(char *file, int &numProcessors, int &numPatches,
00070                 int &numComputes);
00071 
00072   computeInfo *computeArray;
00073   patchInfo *patchArray;
00074   processorInfo *processorArray;
00075 };
00076 
00077 #endif /* _NAMDCENTLB_H_ */

Generated on Tue Sep 26 01:17:14 2017 for NAMD by  doxygen 1.4.7