17 #include "WorkDistrib.decl.h" 109 #ifdef MEM_OPT_VERSION 110 void fillAtomListForOnePatch(
int pid,
FullAtomList &alist);
123 return ( index[a] < index[b] );
129 return ( index[a] < index[b] );
133 static void sortPmePes(
int *pmepes,
int xdim,
int ydim);
148 void mapComputeNonbonded(
void);
149 void mapComputeLCPO(
void);
154 void assignPatchesToLowestLoadNode(
void);
155 void assignPatchesRecursiveBisection(
void);
156 void assignPatchesRoundRobin(
void);
157 void assignPatchesSpaceFillingCurve(
void);
158 void assignPatchesBitReversal(
void);
159 int assignPatchesTopoGridRecBisection();
161 void sortNodesAndAssign(
int *assignedNode,
int baseNodes = 0);
162 void velocities_from_PDB(
const char *filename,
163 Vector *v,
int totalAtoms);
164 void velocities_from_binfile(
const char *fname,
Vector *vels,
int n);
166 Vector *v,
int totalAtoms);
169 bool patchMapArrived;
170 bool computeMapArrived;
172 int saveComputeMapReturnEP;
173 CkGroupID saveComputeMapReturnChareID;
void setDeviceLDBParams(int dt, int hs, int sp1, int pp1, int pp2)
void enqueueMIC(LocalWorkMsg *msg)
static void sortPmePes(int *pmepes, int xdim, int ydim)
static void messageFinishMIC(Compute *)
void setPatchMapArrived(bool s)
void enqueueAngles(LocalWorkMsg *msg)
static void messageFinishCUDA(Compute *)
static int * peCompactOrdering
void finishCUDAP3(LocalWorkMsg *msg)
void enqueueCrossterms(LocalWorkMsg *msg)
void enqueuePme(LocalWorkMsg *msg)
void enqueueWorkA3(LocalWorkMsg *msg)
void enqueueWork(LocalWorkMsg *msg)
void enqueueGromacsPair(LocalWorkMsg *msg)
void enqueueSelfA1(LocalWorkMsg *msg)
void finishCUDAP2(LocalWorkMsg *msg)
static void send_contributeHostDeviceLDB(int peSetLen, int *peSet)
void enqueueExcls(LocalWorkMsg *msg)
void enqueueBonds(LocalWorkMsg *msg)
void enqueueAniso(LocalWorkMsg *msg)
void enqueueSelfB1(LocalWorkMsg *msg)
void enqueueWorkB1(LocalWorkMsg *msg)
static void messageEnqueueWork(Compute *)
static void peOrderingReady()
void enqueueSelfA3(LocalWorkMsg *msg)
Molecule stores the structural information for the system.
bool operator()(int a, int b) const
void recvComputeMapChanges(ComputeMapChangeMsg *)
void enqueueCUDA(LocalWorkMsg *msg)
void sendComputeMap(void)
void enqueueWorkB2(LocalWorkMsg *msg)
void enqueueCUDAP2(LocalWorkMsg *msg)
void enqueueSelfB3(LocalWorkMsg *msg)
void enqueueWorkC(LocalWorkMsg *msg)
void reinitAtoms(const char *basename=0)
void enqueueThole(LocalWorkMsg *msg)
void enqueueWorkA2(LocalWorkMsg *msg)
void createHomePatches(void)
void enqueueImpropers(LocalWorkMsg *msg)
void enqueueLCPO(LocalWorkMsg *msg)
void finishCUDA(LocalWorkMsg *msg)
void enqueueCUDAP3(LocalWorkMsg *msg)
static int * peDiffuseOrderingIndex
void enqueueWorkA1(LocalWorkMsg *msg)
static int * peDiffuseOrdering
static int peOrderingInit
void saveComputeMapChanges(int, CkGroupID)
void finishCUDAPatch(FinishWorkMsg *msg)
void savePatchMap(PatchMapMsg *msg)
static int * peCompactOrderingIndex
static void buildNodeAwarePeOrdering(void)
static void send_setDeviceLDBParams(int dt, int hs, int sp1, int pp1, int pp2)
void enqueueSelfA2(LocalWorkMsg *msg)
void distributeHomePatches(void)
void enqueueSelfB2(LocalWorkMsg *msg)
static void send_initHostDeviceLDB()
FullAtomList * createAtomLists(const char *basename=0)
void enqueueDihedrals(LocalWorkMsg *msg)
void finishMIC(LocalWorkMsg *msg)
void contributeHostDeviceLDB(int peSetLen, int *peSet)
void doneSaveComputeMap(CkReductionMsg *)
bool operator()(int a, int b) const
void enqueueWorkB3(LocalWorkMsg *msg)
void assignNodeToPatch(void)