21 #include "ComputeMgr.decl.h" 28 class ComputeGlobalConfigMsg;
43 #if defined(NAMD_CUDA) || defined(NAMD_HIP) 46 class ComputeBondedCUDA;
109 int tcl_error_code, std::vector<std::string> args);
112 #ifdef NODEGROUP_FORCE_REGISTER 114 CthThread stowedThread;
115 std::atomic<int> *suspendCounter;
121 CthAwaken(stowedThread);
127 CthAwaken(stowedThread);
131 void stowSuspendULT()
134 stowedThread=CthSelf();
137 if(suspendCounter->fetch_sub(1)==1)
149 void awakenStowedULTs()
152 int size=CmiMyNodeSize();
154 suspendCounter->store(size);
155 thisProxy.wakeStowedULTs(wakeUp);
169 #if defined(NAMD_CUDA) || defined(NAMD_HIP) 195 void sendLoadTuplesOnPe(std::vector<int>& pes, ComputeBondedCUDA* c);
196 void recvLoadTuplesOnPe(ComputeBondedCUDAMsg *msg);
212 ComputeDPME *computeDPMEObject;
219 int updateComputesCount;
220 int updateComputesReturnEP;
221 CkGroupID updateComputesReturnChareID;
225 std::vector<std::shared_ptr<dlloader::DLLoader<CudaGlobalMaster::CudaGlobalMasterClient>>> CudaGlobalMasterClientDlloaders;
226 std::map<std::string, std::string> CudaGlobalMasterClientUpdateResultStrings;
227 std::map<std::string, int> CudaGlobalMasterClientUpdateResults;
void recvComputeEwaldData(ComputeEwaldMsg *)
void updateLocalComputes()
void sendYieldDevice(int pe)
A class for performing calculations on specific atoms selected by atom serial numbers.
void recvComputeDPMEResults(ComputeDPMEResultsMsg *)
void updateLocalComputes5()
void recvFinishPatchOnPe(CudaComputeNonbondedMsg *msg)
void sendMessageEnqueueWork(int pe, CudaComputeNonbonded *c)
void sendFinishReductions(int pe, CudaComputeNonbonded *c)
std::string getCudaGlobalMasterUpdateResultString(const std::string &client_name) const
void recvComputeConsForceMsg(ComputeConsForceMsg *)
void updateLocalComputes3()
int getCudaGlobalMasterUpdateResult(const std::string &client_name) const
void recvMessageEnqueueWork(CudaComputeNonbondedMsg *msg)
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 recvCudaGlobalMasterUpdateResultMsg(int tcl_error_code, std::vector< std::string > args)
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)