version 1.1150 | version 1.1151 |
---|
| |
#include "ScriptTcl.h" | #include "ScriptTcl.h" |
#include "ComputeMgr.decl.h" | #include "ComputeMgr.decl.h" |
#include "ComputePmeMgr.decl.h" | #include "ComputePmeMgr.decl.h" |
| // #ifdef NAMD_CUDA |
| #include "ComputeCUDAMgr.decl.h" |
| #include "ComputePmeCUDAMgr.decl.h" |
| // #endif |
#include "ComputeGridForceMgr.decl.h" | #include "ComputeGridForceMgr.decl.h" |
#include "OptPmeMgr.decl.h" | #include "OptPmeMgr.decl.h" |
#include "Sync.h" | #include "Sync.h" |
| |
if (simParameters->useOptPME) | if (simParameters->useOptPME) |
CkpvAccess(BOCclass_group).computePmeMgr = CProxy_OptPmeMgr::ckNew(); | CkpvAccess(BOCclass_group).computePmeMgr = CProxy_OptPmeMgr::ckNew(); |
else | else |
| #ifdef NAMD_CUDA |
| if (simParameters->usePMECUDA) { |
| // computePmeCUDAMgr was created in BackEnd.C |
| // This empty branch is to avoid initializing ComputePmeMgr |
| } else |
| #endif |
| if (simParameters->PMEOn) { |
CkpvAccess(BOCclass_group).computePmeMgr = CProxy_ComputePmeMgr::ckNew(); | CkpvAccess(BOCclass_group).computePmeMgr = CProxy_ComputePmeMgr::ckNew(); |
| } |
#ifdef OPENATOM_VERSION | #ifdef OPENATOM_VERSION |
if ( simParameters->openatomOn ) { | if ( simParameters->openatomOn ) { |
CkpvAccess(BOCclass_group).computeMoaMgr = CProxy_ComputeMoaMgr::ckNew(); | CkpvAccess(BOCclass_group).computeMoaMgr = CProxy_ComputeMoaMgr::ckNew(); |
| |
moa[CkMyPe()].initialize(new CkQdMsg); | moa[CkMyPe()].initialize(new CkQdMsg); |
} | } |
#endif // OPENATOM_VERSION | #endif // OPENATOM_VERSION |
| #ifdef NAMD_CUDA |
| if ( simParameters->usePMECUDA ) { |
| if(CkMyRank()==0) { |
| CProxy_ComputePmeCUDAMgr pme(CkpvAccess(BOCclass_group).computePmeCUDAMgr); |
| pme[CkMyNode()].initialize(new CkQdMsg); |
| } |
| } else |
| #endif |
| { |
CProxy_ComputePmeMgr pme(CkpvAccess(BOCclass_group).computePmeMgr); | CProxy_ComputePmeMgr pme(CkpvAccess(BOCclass_group).computePmeMgr); |
pme[CkMyPe()].initialize(new CkQdMsg); | pme[CkMyPe()].initialize(new CkQdMsg); |
} | } |
} | } |
| } |
| #ifdef NAMD_CUDA |
| if ( simParameters->useCUDA2 && CkMyRank()==0 ) { |
| CProxy_ComputeCUDAMgr nb(CkpvAccess(BOCclass_group).computeCUDAMgr); |
| nb[CkMyNode()].initialize(new CkQdMsg); |
| } |
| #endif |
| |
#ifdef CHARM_HAS_MSA | #ifdef CHARM_HAS_MSA |
else if ( simParameters->MSMOn && ! simParameters->MsmSerialOn ) { | else if ( simParameters->MSMOn && ! simParameters->MsmSerialOn ) { |
CProxy_ComputeMsmMsaMgr msm(CkpvAccess(BOCclass_group).computeMsmMsaMgr); | CProxy_ComputeMsmMsaMgr msm(CkpvAccess(BOCclass_group).computeMsmMsaMgr); |
| |
moa[CkMyPe()].initWorkers(new CkQdMsg); | moa[CkMyPe()].initWorkers(new CkQdMsg); |
} | } |
#endif // OPENATOM_VERSION | #endif // OPENATOM_VERSION |
| #ifdef NAMD_CUDA |
| if ( simParameters->usePMECUDA ) { |
| if(CkMyRank()==0) { |
| CProxy_ComputePmeCUDAMgr pme(CkpvAccess(BOCclass_group).computePmeCUDAMgr); |
| pme[CkMyNode()].initialize_pencils(new CkQdMsg); |
| } |
| } else |
| #endif |
| { |
CProxy_ComputePmeMgr pme(CkpvAccess(BOCclass_group).computePmeMgr); | CProxy_ComputePmeMgr pme(CkpvAccess(BOCclass_group).computePmeMgr); |
pme[CkMyPe()].initialize_pencils(new CkQdMsg); | pme[CkMyPe()].initialize_pencils(new CkQdMsg); |
} | } |
} | } |
| } |
#ifdef CHARM_HAS_MSA | #ifdef CHARM_HAS_MSA |
else if ( simParameters->MSMOn && ! simParameters->MsmSerialOn ) { | else if ( simParameters->MSMOn && ! simParameters->MsmSerialOn ) { |
CProxy_ComputeMsmMsaMgr msm(CkpvAccess(BOCclass_group).computeMsmMsaMgr); | CProxy_ComputeMsmMsaMgr msm(CkpvAccess(BOCclass_group).computeMsmMsaMgr); |
| |
moa[CkMyPe()].startWorkers(new CkQdMsg); | moa[CkMyPe()].startWorkers(new CkQdMsg); |
} | } |
#endif // OPENATOM_VERSION | #endif // OPENATOM_VERSION |
| #ifdef NAMD_CUDA |
| if ( simParameters->usePMECUDA ) { |
| if(CkMyRank()==0) { |
| CProxy_ComputePmeCUDAMgr pme(CkpvAccess(BOCclass_group).computePmeCUDAMgr); |
| pme[CkMyNode()].activate_pencils(new CkQdMsg); |
| } |
| } else |
| #endif |
| { |
CProxy_ComputePmeMgr pme(CkpvAccess(BOCclass_group).computePmeMgr); | CProxy_ComputePmeMgr pme(CkpvAccess(BOCclass_group).computePmeMgr); |
pme[CkMyPe()].activate_pencils(new CkQdMsg); | pme[CkMyPe()].activate_pencils(new CkQdMsg); |
} | } |
} | } |
| } |
#ifdef CHARM_HAS_MSA | #ifdef CHARM_HAS_MSA |
else if ( simParameters->MSMOn && ! simParameters->MsmSerialOn ) { | else if ( simParameters->MSMOn && ! simParameters->MsmSerialOn ) { |
CProxy_ComputeMsmMsaMgr msm(CkpvAccess(BOCclass_group).computeMsmMsaMgr); | CProxy_ComputeMsmMsaMgr msm(CkpvAccess(BOCclass_group).computeMsmMsaMgr); |