| 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); |