NAMD
|
#include <WorkDistrib.h>
Classes | |
struct | pe_sortop_compact |
struct | pe_sortop_diffuse |
Static Public Member Functions | |
static void | messageEnqueueWork (Compute *) |
static void | messageFinishCUDA (Compute *) |
static void | messageFinishMIC (Compute *) |
static void | sortPmePes (int *pmepes, int xdim, int ydim) |
static void | peOrderingReady () |
static void | send_initHostDeviceLDB () |
static void | send_contributeHostDeviceLDB (int peSetLen, int *peSet) |
static void | send_setDeviceLDBParams (int dt, int hs, int sp1, int pp1, int pp2) |
static void | buildNodeAwarePeOrdering (void) |
Static Public Attributes | |
static int | peOrderingInit |
static int * | peDiffuseOrdering |
static int * | peDiffuseOrderingIndex |
static int * | peCompactOrdering |
static int * | peCompactOrderingIndex |
Definition at line 42 of file WorkDistrib.h.
WorkDistrib::WorkDistrib | ( | ) |
WorkDistrib::~WorkDistrib | ( | void | ) |
Definition at line 122 of file WorkDistrib.C.
void WorkDistrib::assignNodeToPatch | ( | void | ) |
Definition at line 1444 of file WorkDistrib.C.
References endi(), Patch::getNumAtoms(), iINFO(), iout, Node::molecule, NAMD_die(), PatchMap::node(), Molecule::numAtoms, Node::numNodes(), PatchMap::numPatches(), PatchMap::Object(), Node::Object(), PatchMap::patch(), Node::simParameters, SimParameters::simulatedPEs, and SimParameters::simulateInitialMapping.
Referenced by Node::startup().
|
static |
Definition at line 181 of file WorkDistrib.C.
References ResizeArray< Elem >::begin(), endi(), iout, iWARN(), peCompactOrdering, peCompactOrderingIndex, peDiffuseOrdering, peDiffuseOrderingIndex, peOrderingInit, peOrderingReady(), randtopo, and Random::reorder().
Referenced by build_ordering().
void WorkDistrib::contributeHostDeviceLDB | ( | int | peSetLen, |
int * | peSet | ||
) |
Definition at line 3515 of file WorkDistrib.C.
FullAtomList * WorkDistrib::createAtomLists | ( | const char * | basename = 0 | ) |
Definition at line 652 of file WorkDistrib.C.
References ResizeArray< Elem >::add(), SimParameters::alchOn, Lattice::apply_transform(), PatchMap::assignToPatch(), Molecule::atomcharge(), CompAtomExt::atomFixed, HydrogenGroupID::atomID, Molecule::atommass(), HydrogenGroupID::atomsInGroup, HydrogenGroupID::atomsInMigrationGroup, Molecule::atomvdwtype(), ResizeArray< Elem >::begin(), SimParameters::binaryOutput, CompAtom::charge, SimParameters::comMove, Node::configList, StringList::data, endi(), FALSE, ConfigList::find(), SimParameters::fixedAtomsOn, FullAtom::fixedPosition, PDB::get_all_positions(), Molecule::get_fep_type(), Molecule::getAtoms(), getWaterModelGroupSize(), PatchMap::gridsize_a(), PatchMap::gridsize_b(), PatchMap::gridsize_c(), CompAtomExt::groupFixed, Molecule::hydrogenGroup, CompAtom::hydrogenGroupSize, CompAtomExt::id, PatchMap::index_a(), PatchMap::index_b(), PatchMap::index_c(), SimParameters::initialTemp, iout, Molecule::is_atom_fixed(), HydrogenGroupID::isGP, HydrogenGroupID::isMP, CompAtom::isWater, Molecule::langevin_param(), FullAtom::langevinParam, SimParameters::lattice, SimParameters::lesOn, FullAtom::mass, PatchMap::max_a(), PatchMap::max_b(), PatchMap::max_c(), FullAtom::migrationGroupSize, PatchMap::min_a(), PatchMap::min_b(), PatchMap::min_c(), Node::molecule, NAMD_bug(), NAMD_die(), Lattice::nearest(), CompAtom::nonbondedGroupSize, PDB::num_atoms(), PatchMap::numPatches(), PatchMap::Object(), order, SimParameters::outputPatchDetails, SimParameters::pairInteractionOn, CompAtom::partition, Node::pdb, CompAtom::position, SimParameters::pressureProfileAtomTypes, read_binary_file(), FullAtom::recipMass, Molecule::rigid_bond_length(), RIGID_NONE, FullAtom::rigidBondLength, SimParameters::rigidBonds, Node::simParameters, ResizeArray< Elem >::size(), sortAtomsForPatches(), SimParameters::staticAtomAssignment, atom_constants::status, FullAtom::status, FullAtom::transform, TRUE, SimParameters::useSettle, CompAtom::vdwType, FullAtom::velocity, and SimParameters::watmodel.
Referenced by createHomePatches(), and reinitAtoms().
void WorkDistrib::createHomePatches | ( | void | ) |
Definition at line 977 of file WorkDistrib.C.
References createAtomLists(), PatchMgr::createHomePatch(), DebugM, endi(), iINFO(), iout, PatchMap::numPatches(), PatchMap::Object(), and ResizeArray< Elem >::size().
Referenced by Node::startup().
void WorkDistrib::distributeHomePatches | ( | void | ) |
Definition at line 1051 of file WorkDistrib.C.
References DebugM, PatchMgr::movePatch(), Node::myid(), PatchMap::node(), PatchMap::numPatches(), PatchMap::Object(), and PatchMgr::sendMovePatches().
Referenced by Node::startup().
void WorkDistrib::doneSaveComputeMap | ( | CkReductionMsg * | msg | ) |
Definition at line 428 of file WorkDistrib.C.
void WorkDistrib::enqueueAngles | ( | LocalWorkMsg * | msg | ) |
Definition at line 3092 of file WorkDistrib.C.
References LocalWorkMsg::compute, Compute::doWork(), Compute::localWorkMsg, MACHINE_PROGRESS, and NAMD_bug().
void WorkDistrib::enqueueAniso | ( | LocalWorkMsg * | msg | ) |
Definition at line 3116 of file WorkDistrib.C.
References LocalWorkMsg::compute, Compute::doWork(), Compute::localWorkMsg, MACHINE_PROGRESS, and NAMD_bug().
void WorkDistrib::enqueueBonds | ( | LocalWorkMsg * | msg | ) |
Definition at line 3086 of file WorkDistrib.C.
References LocalWorkMsg::compute, Compute::doWork(), Compute::localWorkMsg, MACHINE_PROGRESS, and NAMD_bug().
void WorkDistrib::enqueueCrossterms | ( | LocalWorkMsg * | msg | ) |
Definition at line 3122 of file WorkDistrib.C.
References LocalWorkMsg::compute, Compute::doWork(), Compute::localWorkMsg, MACHINE_PROGRESS, and NAMD_bug().
void WorkDistrib::enqueueCUDA | ( | LocalWorkMsg * | msg | ) |
Definition at line 3220 of file WorkDistrib.C.
References LocalWorkMsg::compute, Compute::doWork(), and MACHINE_PROGRESS.
void WorkDistrib::enqueueCUDAP2 | ( | LocalWorkMsg * | msg | ) |
Definition at line 3223 of file WorkDistrib.C.
References LocalWorkMsg::compute, Compute::doWork(), and MACHINE_PROGRESS.
void WorkDistrib::enqueueCUDAP3 | ( | LocalWorkMsg * | msg | ) |
Definition at line 3226 of file WorkDistrib.C.
References LocalWorkMsg::compute, Compute::doWork(), and MACHINE_PROGRESS.
void WorkDistrib::enqueueDihedrals | ( | LocalWorkMsg * | msg | ) |
Definition at line 3098 of file WorkDistrib.C.
References LocalWorkMsg::compute, Compute::doWork(), Compute::localWorkMsg, MACHINE_PROGRESS, and NAMD_bug().
void WorkDistrib::enqueueExcls | ( | LocalWorkMsg * | msg | ) |
Definition at line 3080 of file WorkDistrib.C.
References LocalWorkMsg::compute, Compute::doWork(), Compute::localWorkMsg, MACHINE_PROGRESS, and NAMD_bug().
void WorkDistrib::enqueueGromacsPair | ( | LocalWorkMsg * | msg | ) |
Definition at line 3129 of file WorkDistrib.C.
References LocalWorkMsg::compute, Compute::doWork(), Compute::localWorkMsg, MACHINE_PROGRESS, and NAMD_bug().
void WorkDistrib::enqueueImpropers | ( | LocalWorkMsg * | msg | ) |
Definition at line 3104 of file WorkDistrib.C.
References LocalWorkMsg::compute, Compute::doWork(), Compute::localWorkMsg, MACHINE_PROGRESS, and NAMD_bug().
void WorkDistrib::enqueueLCPO | ( | LocalWorkMsg * | msg | ) |
Definition at line 3143 of file WorkDistrib.C.
References LocalWorkMsg::compute, Compute::doWork(), Compute::localWorkMsg, and NAMD_bug().
void WorkDistrib::enqueueMIC | ( | LocalWorkMsg * | msg | ) |
Definition at line 3244 of file WorkDistrib.C.
References LocalWorkMsg::compute, Compute::doWork(), and MACHINE_PROGRESS.
void WorkDistrib::enqueuePme | ( | LocalWorkMsg * | msg | ) |
Definition at line 3137 of file WorkDistrib.C.
References LocalWorkMsg::compute, Compute::doWork(), Compute::localWorkMsg, MACHINE_PROGRESS, and NAMD_bug().
void WorkDistrib::enqueueSelfA1 | ( | LocalWorkMsg * | msg | ) |
Definition at line 3148 of file WorkDistrib.C.
References LocalWorkMsg::compute, Compute::doWork(), Compute::localWorkMsg, MACHINE_PROGRESS, and NAMD_bug().
void WorkDistrib::enqueueSelfA2 | ( | LocalWorkMsg * | msg | ) |
Definition at line 3153 of file WorkDistrib.C.
References LocalWorkMsg::compute, Compute::doWork(), Compute::localWorkMsg, MACHINE_PROGRESS, and NAMD_bug().
void WorkDistrib::enqueueSelfA3 | ( | LocalWorkMsg * | msg | ) |
Definition at line 3158 of file WorkDistrib.C.
References LocalWorkMsg::compute, Compute::doWork(), Compute::localWorkMsg, MACHINE_PROGRESS, and NAMD_bug().
void WorkDistrib::enqueueSelfB1 | ( | LocalWorkMsg * | msg | ) |
Definition at line 3164 of file WorkDistrib.C.
References LocalWorkMsg::compute, Compute::doWork(), Compute::localWorkMsg, MACHINE_PROGRESS, and NAMD_bug().
void WorkDistrib::enqueueSelfB2 | ( | LocalWorkMsg * | msg | ) |
Definition at line 3169 of file WorkDistrib.C.
References LocalWorkMsg::compute, Compute::doWork(), Compute::localWorkMsg, MACHINE_PROGRESS, and NAMD_bug().
void WorkDistrib::enqueueSelfB3 | ( | LocalWorkMsg * | msg | ) |
Definition at line 3174 of file WorkDistrib.C.
References LocalWorkMsg::compute, Compute::doWork(), Compute::localWorkMsg, MACHINE_PROGRESS, and NAMD_bug().
void WorkDistrib::enqueueThole | ( | LocalWorkMsg * | msg | ) |
Definition at line 3110 of file WorkDistrib.C.
References LocalWorkMsg::compute, Compute::doWork(), Compute::localWorkMsg, MACHINE_PROGRESS, and NAMD_bug().
void WorkDistrib::enqueueWork | ( | LocalWorkMsg * | msg | ) |
Definition at line 3074 of file WorkDistrib.C.
References LocalWorkMsg::compute, Compute::doWork(), Compute::localWorkMsg, MACHINE_PROGRESS, and NAMD_bug().
void WorkDistrib::enqueueWorkA1 | ( | LocalWorkMsg * | msg | ) |
Definition at line 3180 of file WorkDistrib.C.
References LocalWorkMsg::compute, Compute::doWork(), Compute::localWorkMsg, MACHINE_PROGRESS, and NAMD_bug().
void WorkDistrib::enqueueWorkA2 | ( | LocalWorkMsg * | msg | ) |
Definition at line 3185 of file WorkDistrib.C.
References LocalWorkMsg::compute, Compute::doWork(), Compute::localWorkMsg, MACHINE_PROGRESS, and NAMD_bug().
void WorkDistrib::enqueueWorkA3 | ( | LocalWorkMsg * | msg | ) |
Definition at line 3190 of file WorkDistrib.C.
References LocalWorkMsg::compute, Compute::doWork(), Compute::localWorkMsg, MACHINE_PROGRESS, and NAMD_bug().
void WorkDistrib::enqueueWorkB1 | ( | LocalWorkMsg * | msg | ) |
Definition at line 3196 of file WorkDistrib.C.
References LocalWorkMsg::compute, Compute::doWork(), Compute::localWorkMsg, MACHINE_PROGRESS, and NAMD_bug().
void WorkDistrib::enqueueWorkB2 | ( | LocalWorkMsg * | msg | ) |
Definition at line 3201 of file WorkDistrib.C.
References LocalWorkMsg::compute, Compute::doWork(), Compute::localWorkMsg, MACHINE_PROGRESS, and NAMD_bug().
void WorkDistrib::enqueueWorkB3 | ( | LocalWorkMsg * | msg | ) |
Definition at line 3206 of file WorkDistrib.C.
References LocalWorkMsg::compute, Compute::doWork(), Compute::localWorkMsg, MACHINE_PROGRESS, and NAMD_bug().
void WorkDistrib::enqueueWorkC | ( | LocalWorkMsg * | msg | ) |
Definition at line 3214 of file WorkDistrib.C.
References LocalWorkMsg::compute, Compute::doWork(), Compute::localWorkMsg, MACHINE_PROGRESS, and NAMD_bug().
void WorkDistrib::finishCUDA | ( | LocalWorkMsg * | msg | ) |
Definition at line 3234 of file WorkDistrib.C.
References LocalWorkMsg::compute, Compute::doWork(), and MACHINE_PROGRESS.
void WorkDistrib::finishCUDAP2 | ( | LocalWorkMsg * | msg | ) |
Definition at line 3237 of file WorkDistrib.C.
References LocalWorkMsg::compute, Compute::doWork(), and MACHINE_PROGRESS.
void WorkDistrib::finishCUDAP3 | ( | LocalWorkMsg * | msg | ) |
Definition at line 3240 of file WorkDistrib.C.
References LocalWorkMsg::compute, Compute::doWork(), and MACHINE_PROGRESS.
void WorkDistrib::finishCUDAPatch | ( | FinishWorkMsg * | msg | ) |
Definition at line 3230 of file WorkDistrib.C.
References FinishWorkMsg::compute, FinishWorkMsg::data, and Compute::finishPatch().
void WorkDistrib::finishMIC | ( | LocalWorkMsg * | msg | ) |
Definition at line 3247 of file WorkDistrib.C.
References LocalWorkMsg::compute, Compute::doWork(), and MACHINE_PROGRESS.
void WorkDistrib::initHostDeviceLDB | ( | ) |
Definition at line 3502 of file WorkDistrib.C.
void WorkDistrib::mapComputes | ( | void | ) |
Definition at line 2395 of file WorkDistrib.C.
References ComputeMap::allocateCids(), SimParameters::bondedCUDA, computeAnglesType, computeAnisoType, computeBondsType, computeConsForceType, computeConsTorqueType, computeCrosstermsType, computeCylindricalBCType, computeDihedralsType, computeEFieldType, computeEwaldType, computeExclsType, computeExtType, computeFmmType, computeFullDirectType, computeGBISserType, computeGlobalType, computeGridForceType, computeGromacsPairType, computeImpropersType, computeLjPmeSerialType, computeMsmMsaType, computeMsmSerialType, computeMsmType, computeNonbondedCUDA2Type, computeNonbondedMICType, computePmeCUDAType, computePmeType, computeQMType, computeRestraintsType, computeSelfAnglesType, computeSelfAnisoType, computeSelfBondsType, computeSelfCrosstermsType, computeSelfDihedralsType, computeSelfExclsType, computeSelfGromacsPairType, computeSelfImpropersType, computeSelfTholeType, computeSphericalBCType, computeStirType, computeTclBCType, computeTholeType, SimParameters::consForceOn, SimParameters::consTorqueOn, SimParameters::constraintsOn, SimParameters::cylindricalBCOn, DebugM, SimParameters::drudeOn, SimParameters::eFieldOn, SimParameters::extForcesOn, SimParameters::FMAOn, SimParameters::FMMOn, SimParameters::fullDirectOn, SimParameters::GBISserOn, SimParameters::globalForcesOn, SimParameters::goGroPair, SimParameters::LCPOOn, SimParameters::LJPMEOn, ComputeMap::loadComputeMap(), SimParameters::mgridforceOn, SimParameters::MSMOn, SimParameters::MsmSerialOn, NAMD_die(), PatchMap::Object(), Node::Object(), ComputeMap::Object(), SimParameters::pairInteractionOn, SimParameters::pairInteractionSelf, SimParameters::PMEOn, SimParameters::pressureProfileEwaldOn, SimParameters::qmForcesOn, ComputeMap::saveComputeMap(), Node::simParameters, simParams, SimParameters::sphericalBCOn, SimParameters::stirOn, SimParameters::tclBCOn, SimParameters::useDPME, and SimParameters::usePMECUDA.
Referenced by Node::startup().
|
static |
Definition at line 2852 of file WorkDistrib.C.
References Compute::cid, LocalWorkMsg::compute, computeAnglesType, computeAnisoType, computeBondsType, computeCrosstermsType, computeDihedralsType, computeExclsType, computeGromacsPairType, computeImpropersType, computeLCPOType, computeNonbondedCUDA2Type, computeNonbondedMICType, computeNonbondedPairType, computeNonbondedSelfType, computePmeCUDAType, computePmeType, computeSelfAnglesType, computeSelfAnisoType, computeSelfBondsType, computeSelfCrosstermsType, computeSelfDihedralsType, computeSelfExclsType, computeSelfGromacsPairType, computeSelfImpropersType, computeSelfTholeType, computeTholeType, Compute::doWork(), Compute::getGBISPhase(), Compute::localWorkMsg, MACHINE_PROGRESS, NAMD_bug(), Compute::priority(), Compute::sequence(), SET_PRIORITY, and Compute::type().
Referenced by cuda_check_pme_forces(), Compute::enqueueWork(), CudaComputeNonbonded::messageEnqueueWork(), ComputePmeMgr::submitReductions(), and ComputePmeMgr::ungridCalc().
|
static |
Definition at line 3020 of file WorkDistrib.C.
References LocalWorkMsg::compute, Compute::doWork(), Compute::getGBISPhase(), Compute::localWorkMsg, MACHINE_PROGRESS, NAMD_bug(), Compute::priority(), Compute::sequence(), and SET_PRIORITY.
|
static |
Definition at line 3053 of file WorkDistrib.C.
References LocalWorkMsg::compute, Compute::doWork(), Compute::getGBISPhase(), Compute::localWorkMsg, MACHINE_PROGRESS, NAMD_bug(), Compute::priority(), Compute::sequence(), and SET_PRIORITY.
void WorkDistrib::patchMapInit | ( | void | ) |
Definition at line 1226 of file WorkDistrib.C.
References Lattice::a_p(), Lattice::a_r(), Lattice::b_p(), Lattice::b_r(), Lattice::c_p(), Lattice::c_r(), SimParameters::CUDASOAintegrateMode, DebugM, endi(), PDB::find_extremes(), SimParameters::FMAOn, SimParameters::FMMOn, PDB::get_extremes(), iINFO(), iout, isOutputProcessor(), iWARN(), SimParameters::lattice, SimParameters::LCPOOn, PatchMap::makePatches(), SimParameters::maxPatches, SimParameters::minAtomsPerPatch, Node::molecule, SimParameters::MSMOn, NAMD_die(), SimParameters::noPatchesOnOne, SimParameters::noPatchesOnOutputPEs, SimParameters::noPatchesOnZero, PDB::num_atoms(), Molecule::numAtoms, SimParameters::numoutputprocs, PatchMap::Object(), Node::Object(), Lattice::origin(), SimParameters::patchDimension, Node::pdb, SimParameters::replicaUniformPatchGrids, Node::simParameters, SimParameters::simulatedPEs, SimParameters::simulateInitialMapping, PatchMap::sizeGrid(), SimParameters::staticAtomAssignment, SimParameters::twoAwayX, SimParameters::twoAwayY, SimParameters::twoAwayZ, Vector::x, Vector::y, and Vector::z.
Referenced by Node::startup().
|
static |
Definition at line 171 of file WorkDistrib.C.
References cuda_initialize(), and mic_initialize().
Referenced by buildNodeAwarePeOrdering().
void WorkDistrib::recvComputeMapChanges | ( | ComputeMapChangeMsg * | msg | ) |
Definition at line 375 of file WorkDistrib.C.
References ALLBUTME, BUFSIZE, COMPUTEMAPTAG, MOStream::end(), MIStream::get(), NAMD_bug(), ComputeMap::newNode(), ComputeMap::newNumPartitions(), ComputeMap::numComputes(), ComputeMap::Object(), MOStream::put(), ComputeMap::setNewNode(), and ComputeMap::setNewNumPartitions().
void WorkDistrib::reinitAtoms | ( | const char * | basename = 0 | ) |
Definition at line 1073 of file WorkDistrib.C.
References createAtomLists(), PatchMap::numPatches(), PatchMap::Object(), and PatchMgr::sendAtoms().
void WorkDistrib::saveComputeMapChanges | ( | int | ep, |
CkGroupID | chareID | ||
) |
Definition at line 357 of file WorkDistrib.C.
Referenced by ComputeMgr::updateComputes2().
void WorkDistrib::savePatchMap | ( | PatchMapMsg * | msg | ) |
Definition at line 1135 of file WorkDistrib.C.
References SimParameters::isRecvSpanningTreeUnset(), SimParameters::isSendSpanningTreeUnset(), PatchMap::Object(), ProxyMgr::Object(), PatchMapMsg::patchMapData, ProxyMgr::setRecvSpanning(), ProxyMgr::setSendSpanning(), Node::simParameters, split(), and PatchMap::unpack().
|
static |
Definition at line 3508 of file WorkDistrib.C.
|
static |
Definition at line 3495 of file WorkDistrib.C.
|
static |
Definition at line 3521 of file WorkDistrib.C.
void WorkDistrib::sendComputeMap | ( | void | ) |
Definition at line 1199 of file WorkDistrib.C.
References ALLBUTME, BUFSIZE, COMPUTEMAPTAG, MOStream::end(), ComputeMap::initPtrs(), ComputeMap::Object(), ComputeMap::pack(), and ComputeMap::unpack().
Referenced by Node::startup().
void WorkDistrib::sendPatchMap | ( | void | ) |
Definition at line 1099 of file WorkDistrib.C.
References SimParameters::isRecvSpanningTreeUnset(), SimParameters::isSendSpanningTreeUnset(), PatchMap::Object(), ProxyMgr::Object(), PatchMap::pack(), PatchMap::packSize(), PatchMapMsg::patchMapData, ProxyMgr::setRecvSpanning(), ProxyMgr::setSendSpanning(), and Node::simParameters.
Referenced by Node::startup().
void WorkDistrib::setDeviceLDBParams | ( | int | dt, |
int | hs, | ||
int | sp1, | ||
int | pp1, | ||
int | pp2 | ||
) |
Definition at line 3528 of file WorkDistrib.C.
|
inline |
Definition at line 107 of file WorkDistrib.h.
Referenced by Node::startup().
|
static |
Definition at line 305 of file WorkDistrib.C.
References ResizeArray< Elem >::begin(), PatchMap::center(), PatchMap::node(), PatchMap::numPatches(), PatchMap::Object(), and recursive_bisect_coord().
Referenced by ComputePmeMgr::initialize().
|
static |
Definition at line 117 of file WorkDistrib.h.
Referenced by buildNodeAwarePeOrdering().
|
static |
Definition at line 118 of file WorkDistrib.h.
Referenced by buildNodeAwarePeOrdering(), ParallelIOMgr::initialize(), WorkDistrib::pe_sortop_compact::operator()(), and TopoManagerWrapper::pe_sortop_topo::operator()().
|
static |
Definition at line 115 of file WorkDistrib.h.
Referenced by buildNodeAwarePeOrdering(), generatePmePeList2(), ParallelIOMgr::initialize(), and ComputePmeMgr::initialize().
|
static |
Definition at line 116 of file WorkDistrib.h.
Referenced by buildNodeAwarePeOrdering(), and WorkDistrib::pe_sortop_diffuse::operator()().
|
static |
Definition at line 114 of file WorkDistrib.h.
Referenced by buildNodeAwarePeOrdering().