21 #include "ComputeMgr.decl.h" 28 class ComputeGlobalConfigMsg;
43 #if defined(NAMD_CUDA) || defined(NAMD_HIP) 46 class ComputeBondedCUDA;
106 #ifdef NODEGROUP_FORCE_REGISTER 108 CthThread stowedThread;
109 std::atomic<int> *suspendCounter;
115 CthAwaken(stowedThread);
121 CthAwaken(stowedThread);
125 void stowSuspendULT()
128 stowedThread=CthSelf();
131 if(suspendCounter->fetch_sub(1)==1)
143 void awakenStowedULTs()
146 int size=CmiMyNodeSize();
148 suspendCounter->store(size);
149 thisProxy.wakeStowedULTs(wakeUp);
163 #if defined(NAMD_CUDA) || defined(NAMD_HIP) 189 void sendLoadTuplesOnPe(std::vector<int>& pes, ComputeBondedCUDA* c);
190 void recvLoadTuplesOnPe(ComputeBondedCUDAMsg *msg);
206 ComputeDPME *computeDPMEObject;
213 int updateComputesCount;
214 int updateComputesReturnEP;
215 CkGroupID updateComputesReturnChareID;
219 std::vector<std::shared_ptr<dlloader::DLLoader<CudaGlobalMasterClient>>> CudaGlobalMasterClientDlloaders;
220 std::map<std::string, std::string> CudaGlobalMasterClientUpdateResults;
void recvComputeEwaldData(ComputeEwaldMsg *)
void updateLocalComputes()
void sendYieldDevice(int pe)
void recvComputeDPMEResults(ComputeDPMEResultsMsg *)
void recvCudaGlobalMasterUpdateResultMsg(std::vector< std::string > args)
void updateLocalComputes5()
void recvFinishPatchOnPe(CudaComputeNonbondedMsg *msg)
void sendMessageEnqueueWork(int pe, CudaComputeNonbonded *c)
void sendFinishReductions(int pe, CudaComputeNonbonded *c)
void recvComputeConsForceMsg(ComputeConsForceMsg *)
A class for performing calculations on specific atoms selected by atom serial numbers.
void updateLocalComputes3()
void recvMessageEnqueueWork(CudaComputeNonbondedMsg *msg)
std::string getCudaGlobalMasterUpdateResult(const std::string &client_name) const
void createComputes(ComputeMap *map)
void recvLaunchWork(CudaComputeNonbondedMsg *msg)
int computeGlobalResultsMsgSeq
void updateLocalComputes2(CkQdMsg *)
void recvAssignPatchesOnPe(CudaComputeNonbondedMsg *msg)
void doneUpdateLocalComputes()
void recvCudaGlobalMasterRemoveMsg(std::vector< std::string > args)
void recvComputeGlobalConfig(ComputeGlobalConfigMsg *)
int computeGlobalResultsMsgMasterSeq
void sendComputeEwaldData(ComputeEwaldMsg *)
void sendLaunchWork(int pe, CudaComputeNonbonded *c)
void recvYieldDevice(int pe)
void sendComputeGlobalResults(ComputeGlobalResultsMsg *)
void sendUnregisterBoxesOnPe(std::vector< int > &pes, CudaComputeNonbonded *c)
void sendFinishPatchesOnPe(std::vector< int > &pes, CudaComputeNonbonded *c)
void recvFinishReductions(CudaComputeNonbondedMsg *msg)
void updateLocalComputes4(CkQdMsg *)
void recvFinishPatchesOnPe(CudaComputeNonbondedMsg *msg)
void enableComputeGlobalResults()
void recvComputeGlobalResults(ComputeGlobalResultsMsg *)
ResizeArray< ComputeGlobalResultsMsg * > computeGlobalResultsMsgs
void recvComputeDPMEData(ComputeDPMEDataMsg *)
ComputeGlobal * computeGlobalObject
void recvComputeEwaldResults(ComputeEwaldMsg *)
void sendComputeDPMEData(ComputeDPMEDataMsg *)
void recvComputeGlobalData(ComputeGlobalDataMsg *)
void sendComputeDPMEResults(ComputeDPMEResultsMsg *, int)
void updateComputes2(CkQdMsg *)
void recvOpenBoxesOnPe(CudaComputeNonbondedMsg *msg)
void recvUnregisterBoxesOnPe(CudaComputeNonbondedMsg *msg)
void sendComputeGlobalConfig(ComputeGlobalConfigMsg *)
void recvCudaGlobalMasterCreateMsg(std::vector< std::string > args)
void recvSkipPatchesOnPe(CudaComputeNonbondedMsg *msg)
void sendComputeGlobalData(ComputeGlobalDataMsg *)
void sendOpenBoxesOnPe(std::vector< int > &pes, CudaComputeNonbonded *c)
void sendFinishPatchOnPe(int pe, CudaComputeNonbonded *c, int i, PatchID patchID)
void recvCudaGlobalMasterUpdateMsg(std::vector< std::string > args)
void updateComputes(int, CkGroupID)
void sendComputeEwaldResults(ComputeEwaldMsg *)
void sendAssignPatchesOnPe(std::vector< int > &pes, CudaComputeNonbonded *c)
void splitComputes2(CkQdMsg *)
void sendSkipPatchesOnPe(std::vector< int > &pes, CudaComputeNonbonded *c)