NAMD
|
#include <Compute.h>
Public Member Functions | |
Compute (ComputeID) | |
int | type () |
virtual | ~Compute () |
void | setNumPatches (int n) |
int | getNumPatches () |
virtual void | initialize () |
virtual void | atomUpdate () |
virtual void | patchReady (PatchID, int doneMigration, int seq) |
virtual int | noWork () |
virtual void | doWork () |
virtual void | finishPatch (int) |
int | sequence (void) |
int | priority (void) |
int | getGBISPhase (void) |
virtual void | gbisP2PatchReady (PatchID, int seq) |
virtual void | gbisP3PatchReady (PatchID, int seq) |
Public Attributes | |
const ComputeID | cid |
LDObjHandle | ldObjHandle |
LocalWorkMsg *const | localWorkMsg |
Protected Member Functions | |
void | enqueueWork () |
Protected Attributes | |
int | computeType |
int | basePriority |
int | gbisPhase |
int | gbisPhasePriority [3] |
Compute::Compute | ( | ComputeID | c | ) |
Definition at line 33 of file Compute.C.
References computeType, gbisPhasePriority, LdbIdField(), ldObjHandle, ComputeMap::Object(), and ComputeMap::type().
|
virtual |
Reimplemented in ComputeHomeTuples< T, S, P >, ComputeHomeTuples< AngleElem, Angle, AngleValue >, ComputeHomeTuples< CrosstermElem, Crossterm, CrosstermValue >, ComputeHomeTuples< GromacsPairElem, GromacsPair, GromacsPairValue >, ComputeHomeTuples< DihedralElem, Dihedral, DihedralValue >, ComputeHomeTuples< DihedralElem, Dihedral, DihedralValue >, ComputeHomeTuples< AngleElem, Angle, AngleValue >, ComputeHomeTuples< TholeElem, Thole, TholeValue >, ComputeHomeTuples< ImproperElem, Improper, ImproperValue >, ComputeHomeTuples< CrosstermElem, Crossterm, CrosstermValue >, ComputeHomeTuples< BondElem, Bond, BondValue >, ComputeHomeTuples< AnisoElem, Aniso, AnisoValue >, ComputeHomeTuples< ExclElem, Exclusion, int >, ComputeHomeTuples< GromacsPairElem, GromacsPair, GromacsPairValue >, ComputeHomeTuples< TholeElem, Thole, TholeValue >, CudaComputeNonbonded, ComputeLCPO, ComputeHomePatches, ComputeNonbondedCUDA, ComputeNonbondedMIC, ComputePme, ComputeHomePatch, ComputePatchPair, ComputePatch, and ComputePmeCUDA.
Definition at line 59 of file Compute.h.
Referenced by ComputeHomePatches::atomUpdate(), and patchReady().
Reimplemented in ComputeHomeTuples< T, S, P >, ComputeHomeTuples< AngleElem, Angle, AngleValue >, ComputeHomeTuples< CrosstermElem, Crossterm, CrosstermValue >, ComputeHomeTuples< GromacsPairElem, GromacsPair, GromacsPairValue >, ComputeHomeTuples< DihedralElem, Dihedral, DihedralValue >, ComputeHomeTuples< DihedralElem, Dihedral, DihedralValue >, ComputeHomeTuples< AngleElem, Angle, AngleValue >, ComputeHomeTuples< TholeElem, Thole, TholeValue >, ComputeHomeTuples< ImproperElem, Improper, ImproperValue >, ComputeHomeTuples< CrosstermElem, Crossterm, CrosstermValue >, ComputeHomeTuples< BondElem, Bond, BondValue >, ComputeHomeTuples< AnisoElem, Aniso, AnisoValue >, ComputeHomeTuples< ExclElem, Exclusion, int >, ComputeHomeTuples< GromacsPairElem, GromacsPair, GromacsPairValue >, ComputeHomeTuples< TholeElem, Thole, TholeValue >, ComputeSelfTuples< T, S, P >, ComputeSelfTuples< AnisoElem, Aniso, AnisoValue >, ComputeSelfTuples< AngleElem, Angle, AngleValue >, ComputeSelfTuples< GromacsPairElem, GromacsPair, GromacsPairValue >, ComputeSelfTuples< ExclElem, Exclusion, int >, ComputeSelfTuples< DihedralElem, Dihedral, DihedralValue >, ComputeSelfTuples< ImproperElem, Improper, ImproperValue >, ComputeSelfTuples< BondElem, Bond, BondValue >, ComputeSelfTuples< CrosstermElem, Crossterm, CrosstermValue >, ComputeSelfTuples< TholeElem, Thole, TholeValue >, CudaComputeNonbonded, ComputeQM, ComputeLCPO, ComputeEwald, ComputeMoa, ComputeNonbondedCUDA, ComputeNonbondedMIC, ComputePme, ComputeGlobal, ComputeHomePatch, ComputePatchPair, ComputePatch, ComputeGBISser, ComputeMsm, ComputeTclBC, ComputePmeCUDA, ComputeExt, ComputeFmmSerial, ComputeFullDirect, and ComputeMsmSerial.
Definition at line 108 of file Compute.C.
References DebugM.
Referenced by WorkDistrib::enqueueAngles(), WorkDistrib::enqueueAniso(), WorkDistrib::enqueueBonds(), WorkDistrib::enqueueCrossterms(), WorkDistrib::enqueueCUDA(), WorkDistrib::enqueueCUDAP2(), WorkDistrib::enqueueCUDAP3(), WorkDistrib::enqueueDihedrals(), WorkDistrib::enqueueExcls(), WorkDistrib::enqueueGromacsPair(), WorkDistrib::enqueueImpropers(), WorkDistrib::enqueueLCPO(), WorkDistrib::enqueueMIC(), WorkDistrib::enqueuePme(), WorkDistrib::enqueueSelfA1(), WorkDistrib::enqueueSelfA2(), WorkDistrib::enqueueSelfA3(), WorkDistrib::enqueueSelfB1(), WorkDistrib::enqueueSelfB2(), WorkDistrib::enqueueSelfB3(), WorkDistrib::enqueueThole(), WorkDistrib::enqueueWork(), WorkDistrib::enqueueWorkA1(), WorkDistrib::enqueueWorkA2(), WorkDistrib::enqueueWorkA3(), WorkDistrib::enqueueWorkB1(), WorkDistrib::enqueueWorkB2(), WorkDistrib::enqueueWorkB3(), WorkDistrib::enqueueWorkC(), WorkDistrib::finishCUDA(), WorkDistrib::finishCUDAP2(), WorkDistrib::finishCUDAP3(), WorkDistrib::finishMIC(), WorkDistrib::messageEnqueueWork(), WorkDistrib::messageFinishCUDA(), and WorkDistrib::messageFinishMIC().
|
protected |
Definition at line 47 of file Compute.C.
References DebugM, WorkDistrib::messageEnqueueWork(), and noWork().
Referenced by gbisP2PatchReady(), gbisP3PatchReady(), and patchReady().
|
virtual |
Reimplemented in ComputeNonbondedCUDA.
Definition at line 112 of file Compute.C.
References DebugM.
Referenced by WorkDistrib::finishCUDAPatch().
Reimplemented in CudaComputeNonbonded.
Definition at line 84 of file Compute.C.
References enqueueWork().
Referenced by CudaComputeNonbonded::gbisP2PatchReady().
Reimplemented in CudaComputeNonbonded.
Definition at line 94 of file Compute.C.
References enqueueWork().
Referenced by CudaComputeNonbonded::gbisP3PatchReady().
|
inline |
Definition at line 66 of file Compute.h.
References gbisPhase.
Referenced by WorkDistrib::messageEnqueueWork(), WorkDistrib::messageFinishCUDA(), and WorkDistrib::messageFinishMIC().
|
inline |
Definition at line 53 of file Compute.h.
Referenced by CudaComputeNonbonded::assignPatches(), ComputeLCPO::ComputeLCPO(), ComputePmeCUDA::ComputePmeCUDA(), ComputeLCPO::doWork(), ComputePmeCUDA::initialize(), ComputePmeCUDA::noWork(), CudaComputeNonbonded::openBoxesOnPe(), CudaComputeNonbonded::skipPatchesOnPe(), ComputePmeCUDA::storePmeForceMsg(), ComputeLCPO::~ComputeLCPO(), and ComputePmeCUDA::~ComputePmeCUDA().
Reimplemented in ComputeHomeTuples< T, S, P >, ComputeHomeTuples< AngleElem, Angle, AngleValue >, ComputeHomeTuples< CrosstermElem, Crossterm, CrosstermValue >, ComputeHomeTuples< GromacsPairElem, GromacsPair, GromacsPairValue >, ComputeHomeTuples< DihedralElem, Dihedral, DihedralValue >, ComputeHomeTuples< DihedralElem, Dihedral, DihedralValue >, ComputeHomeTuples< AngleElem, Angle, AngleValue >, ComputeHomeTuples< TholeElem, Thole, TholeValue >, ComputeHomeTuples< ImproperElem, Improper, ImproperValue >, ComputeHomeTuples< CrosstermElem, Crossterm, CrosstermValue >, ComputeHomeTuples< BondElem, Bond, BondValue >, ComputeHomeTuples< AnisoElem, Aniso, AnisoValue >, ComputeHomeTuples< ExclElem, Exclusion, int >, ComputeHomeTuples< GromacsPairElem, GromacsPair, GromacsPairValue >, ComputeHomeTuples< TholeElem, Thole, TholeValue >, ComputeSelfTuples< T, S, P >, ComputeSelfTuples< AnisoElem, Aniso, AnisoValue >, ComputeSelfTuples< AngleElem, Angle, AngleValue >, ComputeSelfTuples< GromacsPairElem, GromacsPair, GromacsPairValue >, ComputeSelfTuples< ExclElem, Exclusion, int >, ComputeSelfTuples< DihedralElem, Dihedral, DihedralValue >, ComputeSelfTuples< ImproperElem, Improper, ImproperValue >, ComputeSelfTuples< BondElem, Bond, BondValue >, ComputeSelfTuples< CrosstermElem, Crossterm, CrosstermValue >, ComputeSelfTuples< TholeElem, Thole, TholeValue >, CudaComputeNonbonded, ComputeQM, ComputeLCPO, ComputeHomePatches, ComputePme, ComputeHomePatch, ComputePatchPair, ComputeNonbondedSelf, ComputePatch, ComputeNonbondedPair, and ComputePmeCUDA.
Definition at line 56 of file Compute.h.
Referenced by ComputePatch::initialize(), ComputePatchPair::initialize(), ComputeHomePatch::initialize(), and ComputeLCPO::initialize().
|
virtual |
Reimplemented in CudaComputeNonbonded, ComputeLCPO, ComputeNonbondedCUDA, ComputeNonbondedMIC, ComputePme, ComputeNonbondedSelf, ComputeNonbondedPair, and ComputePmeCUDA.
Definition at line 104 of file Compute.C.
Referenced by enqueueWork().
Reimplemented in CudaComputeNonbonded.
Definition at line 63 of file Compute.C.
References atomUpdate(), DebugM, and enqueueWork().
Referenced by CudaComputeNonbonded::patchReady(), ComputeMgr::recvNonbondedCUDASlaveReady(), and ComputeMgr::recvNonbondedMICSlaveReady().
|
inline |
Definition at line 65 of file Compute.h.
References basePriority, gbisPhase, and gbisPhasePriority.
Referenced by ComputeNonbondedCUDA::finishWork(), CudaComputeNonbonded::initialize(), WorkDistrib::messageEnqueueWork(), WorkDistrib::messageFinishCUDA(), WorkDistrib::messageFinishMIC(), and cptr_sortop_priority::operator()().
|
inline |
Definition at line 64 of file Compute.h.
Referenced by ComputeNonbondedPair::doForce(), ComputeNonbondedSelf::doForce(), ComputeGBISser::doWork(), ComputeMsm::doWork(), ComputePme::doWork(), ComputeNonbondedCUDA::doWork(), ComputeNonbondedCUDA::finishWork(), WorkDistrib::messageEnqueueWork(), WorkDistrib::messageFinishCUDA(), WorkDistrib::messageFinishMIC(), ComputeNonbondedCUDA::messageFinishPatch(), ComputeNonbondedCUDA::noWork(), ComputeNonbondedCUDA::recvYieldDevice(), ComputeMgr::sendFinishPatchesOnPe(), ComputeMgr::sendFinishPatchOnPe(), ComputeMgr::sendOpenBoxesOnPe(), and ComputePme::ungridForces().
|
inline |
Definition at line 52 of file Compute.h.
Referenced by CudaComputeNonbonded::assignPatches(), ComputeHomePatch::ComputeHomePatch(), ComputeLCPO::ComputeLCPO(), ComputePatch::ComputePatch(), ComputePatchPair::ComputePatchPair(), ComputePme::ComputePme(), ComputePmeCUDA::ComputePmeCUDA(), ComputeHomePatches::initialize(), and ComputeNonbondedCUDA::registerPatches().
|
inline |
Definition at line 48 of file Compute.h.
References computeType.
Referenced by WorkDistrib::messageEnqueueWork(), ComputeMgr::sendNonbondedCUDASlaveEnqueue(), and ComputeMgr::sendNonbondedMICSlaveEnqueue().
|
protected |
Definition at line 37 of file Compute.h.
Referenced by ComputeNonbondedCUDA::ComputeNonbondedCUDA(), ComputePme::ComputePme(), ComputePme::doWork(), ComputeNonbondedCUDA::doWork(), ComputeNonbondedCUDA::finishReductions(), ComputePatch::initialize(), ComputeHomePatch::initialize(), ComputePatchPair::initialize(), ComputeLCPO::initialize(), and priority().
const ComputeID Compute::cid |
Definition at line 43 of file Compute.h.
Referenced by ComputeNonbondedPair::doForce(), ComputeNonbondedSelf::doForce(), ComputePme::doWork(), ComputeNonbondedPair::initialize(), ComputeNonbondedSelf::initialize(), ComputePatch::initialize(), ComputeHomePatch::initialize(), ComputePatchPair::initialize(), WorkDistrib::messageEnqueueWork(), ComputeMgr::recvCreateNonbondedCUDASlave(), ComputeMgr::recvCreateNonbondedMICSlave(), Patch::registerAvgPositionPickup(), Patch::registerBornRadPickup(), Patch::registerDEdaSumDeposit(), Patch::registerDHdrPrefixPickup(), Patch::registerForceDeposit(), Patch::registerIntRadPickup(), Patch::registerLcpoTypePickup(), Patch::registerPositionPickup(), Patch::registerPsiSumDeposit(), Patch::registerVelocityPickup(), ComputeMgr::sendNonbondedCUDASlaveEnqueue(), ComputeMgr::sendNonbondedMICSlaveEnqueue(), Patch::unregisterAvgPositionPickup(), Patch::unregisterPositionPickup(), Patch::unregisterVelocityPickup(), ComputeHomePatch::~ComputeHomePatch(), ComputeLCPO::~ComputeLCPO(), ComputePatch::~ComputePatch(), and ComputePatchPair::~ComputePatchPair().
|
protected |
Definition at line 36 of file Compute.h.
Referenced by Compute(), ComputePatch::doWork(), ComputePatchPair::doWork(), and type().
|
protected |
Definition at line 39 of file Compute.h.
Referenced by ComputePatch::ComputePatch(), ComputePatchPair::ComputePatchPair(), CudaComputeNonbonded::CudaComputeNonbonded(), ComputeNonbondedPair::doForce(), ComputeNonbondedSelf::doForce(), ComputePatch::doWork(), ComputePatchPair::doWork(), ComputeNonbondedCUDA::doWork(), CudaComputeNonbonded::doWork(), ComputeNonbondedCUDA::finishWork(), getGBISPhase(), CudaComputeNonbonded::launchWork(), ComputeNonbondedPair::noWork(), ComputeNonbondedSelf::noWork(), ComputeNonbondedCUDA::noWork(), priority(), and ComputeNonbondedCUDA::recvYieldDevice().
|
protected |
Definition at line 40 of file Compute.h.
Referenced by Compute(), ComputePatch::initialize(), ComputePatchPair::initialize(), and priority().
LDObjHandle Compute::ldObjHandle |
Definition at line 44 of file Compute.h.
Referenced by Compute(), ComputePatch::doWork(), ComputePatchPair::doWork(), ComputeLCPO::doWork(), LdbCoordinator::initialize(), ComputeNonbondedPair::noWork(), ComputeNonbondedSelf::noWork(), ComputeLCPO::noWork(), and ComputeMgr::updateLocalComputes().
LocalWorkMsg* const Compute::localWorkMsg |
Definition at line 46 of file Compute.h.
Referenced by WorkDistrib::enqueueAngles(), WorkDistrib::enqueueAniso(), WorkDistrib::enqueueBonds(), WorkDistrib::enqueueCrossterms(), WorkDistrib::enqueueDihedrals(), WorkDistrib::enqueueExcls(), WorkDistrib::enqueueGromacsPair(), WorkDistrib::enqueueImpropers(), WorkDistrib::enqueueLCPO(), WorkDistrib::enqueuePme(), WorkDistrib::enqueueSelfA1(), WorkDistrib::enqueueSelfA2(), WorkDistrib::enqueueSelfA3(), WorkDistrib::enqueueSelfB1(), WorkDistrib::enqueueSelfB2(), WorkDistrib::enqueueSelfB3(), WorkDistrib::enqueueThole(), WorkDistrib::enqueueWork(), WorkDistrib::enqueueWorkA1(), WorkDistrib::enqueueWorkA2(), WorkDistrib::enqueueWorkA3(), WorkDistrib::enqueueWorkB1(), WorkDistrib::enqueueWorkB2(), WorkDistrib::enqueueWorkB3(), WorkDistrib::enqueueWorkC(), WorkDistrib::messageEnqueueWork(), WorkDistrib::messageFinishCUDA(), WorkDistrib::messageFinishMIC(), ComputePmeCUDADevice::sendForcesToPatch(), ComputeMgr::sendNonbondedCUDASlaveEnqueue(), ComputeMgr::sendNonbondedMICSlaveEnqueue(), and ~Compute().