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 121 of file WorkDistrib.C.
Definition at line 1323 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().
Definition at line 180 of file WorkDistrib.C.
References ResizeArray< T >::begin(), endi(), iout, iWARN(), peCompactOrdering, peCompactOrderingIndex, peDiffuseOrdering, peDiffuseOrderingIndex, peOrderingInit, peOrderingReady(), randtopo, Random::reorder(), and sort.
Referenced by build_ordering().
void WorkDistrib::contributeHostDeviceLDB | ( | int | peSetLen, |
int * | peSet | ||
) |
Definition at line 3402 of file WorkDistrib.C.
FullAtomList * WorkDistrib::createAtomLists | ( | const char * | basename = 0 | ) |
Definition at line 622 of file WorkDistrib.C.
References ResizeArray< T >::add(), SimParameters::alchOn, Lattice::apply_transform(), PatchMap::assignToPatch(), Molecule::atomcharge(), CompAtomExt::atomFixed, HydrogenGroupID::atomID, Molecule::atommass(), atoms, HydrogenGroupID::atomsInGroup, HydrogenGroupID::atomsInMigrationGroup, Molecule::atomvdwtype(), ResizeArray< T >::begin(), SimParameters::binaryOutput, CompAtom::charge, SimParameters::comMove, Node::configList, StringList::data, endi(), FALSE, ConfigList::find(), FullAtom::fixedPosition, PDB::get_all_positions(), Molecule::get_fep_type(), Molecule::getAtoms(), 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, 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(), 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< T >::size(), sortAtomsForPatches(), SimParameters::staticAtomAssignment, atom_constants::status, FullAtom::status, FullAtom::transform, TRUE, CompAtom::vdwType, and FullAtom::velocity.
Referenced by createHomePatches(), and reinitAtoms().
Definition at line 893 of file WorkDistrib.C.
References atoms, createAtomLists(), PatchMgr::createHomePatch(), DebugM, endi(), iINFO(), iout, PatchMap::numPatches(), numPatches, PatchMap::Object(), and ResizeArray< T >::size().
Referenced by Node::startup().
Definition at line 934 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 427 of file WorkDistrib.C.
void WorkDistrib::enqueueAngles | ( | LocalWorkMsg * | msg | ) |
Definition at line 2973 of file WorkDistrib.C.
References LocalWorkMsg::compute, Compute::doWork(), Compute::localWorkMsg, MACHINE_PROGRESS, and NAMD_bug().
void WorkDistrib::enqueueAniso | ( | LocalWorkMsg * | msg | ) |
Definition at line 2997 of file WorkDistrib.C.
References LocalWorkMsg::compute, Compute::doWork(), Compute::localWorkMsg, MACHINE_PROGRESS, and NAMD_bug().
void WorkDistrib::enqueueBonds | ( | LocalWorkMsg * | msg | ) |
Definition at line 2967 of file WorkDistrib.C.
References LocalWorkMsg::compute, Compute::doWork(), Compute::localWorkMsg, MACHINE_PROGRESS, and NAMD_bug().
void WorkDistrib::enqueueCrossterms | ( | LocalWorkMsg * | msg | ) |
Definition at line 3003 of file WorkDistrib.C.
References LocalWorkMsg::compute, Compute::doWork(), Compute::localWorkMsg, MACHINE_PROGRESS, and NAMD_bug().
void WorkDistrib::enqueueCUDA | ( | LocalWorkMsg * | msg | ) |
Definition at line 3101 of file WorkDistrib.C.
References LocalWorkMsg::compute, Compute::doWork(), and MACHINE_PROGRESS.
void WorkDistrib::enqueueCUDAP2 | ( | LocalWorkMsg * | msg | ) |
Definition at line 3107 of file WorkDistrib.C.
References LocalWorkMsg::compute, Compute::doWork(), and MACHINE_PROGRESS.
void WorkDistrib::enqueueCUDAP3 | ( | LocalWorkMsg * | msg | ) |
Definition at line 3110 of file WorkDistrib.C.
References LocalWorkMsg::compute, Compute::doWork(), and MACHINE_PROGRESS.
void WorkDistrib::enqueueDihedrals | ( | LocalWorkMsg * | msg | ) |
Definition at line 2979 of file WorkDistrib.C.
References LocalWorkMsg::compute, Compute::doWork(), Compute::localWorkMsg, MACHINE_PROGRESS, and NAMD_bug().
void WorkDistrib::enqueueExcls | ( | LocalWorkMsg * | msg | ) |
Definition at line 2961 of file WorkDistrib.C.
References LocalWorkMsg::compute, Compute::doWork(), Compute::localWorkMsg, MACHINE_PROGRESS, and NAMD_bug().
void WorkDistrib::enqueueGromacsPair | ( | LocalWorkMsg * | msg | ) |
Definition at line 3010 of file WorkDistrib.C.
References LocalWorkMsg::compute, Compute::doWork(), Compute::localWorkMsg, MACHINE_PROGRESS, and NAMD_bug().
void WorkDistrib::enqueueImpropers | ( | LocalWorkMsg * | msg | ) |
Definition at line 2985 of file WorkDistrib.C.
References LocalWorkMsg::compute, Compute::doWork(), Compute::localWorkMsg, MACHINE_PROGRESS, and NAMD_bug().
void WorkDistrib::enqueueLCPO | ( | LocalWorkMsg * | msg | ) |
Definition at line 3024 of file WorkDistrib.C.
References LocalWorkMsg::compute, Compute::doWork(), Compute::localWorkMsg, and NAMD_bug().
void WorkDistrib::enqueueMIC | ( | LocalWorkMsg * | msg | ) |
Definition at line 3131 of file WorkDistrib.C.
References LocalWorkMsg::compute, Compute::doWork(), and MACHINE_PROGRESS.
void WorkDistrib::enqueuePme | ( | LocalWorkMsg * | msg | ) |
Definition at line 3018 of file WorkDistrib.C.
References LocalWorkMsg::compute, Compute::doWork(), Compute::localWorkMsg, MACHINE_PROGRESS, and NAMD_bug().
void WorkDistrib::enqueueSelfA1 | ( | LocalWorkMsg * | msg | ) |
Definition at line 3029 of file WorkDistrib.C.
References LocalWorkMsg::compute, Compute::doWork(), Compute::localWorkMsg, MACHINE_PROGRESS, and NAMD_bug().
void WorkDistrib::enqueueSelfA2 | ( | LocalWorkMsg * | msg | ) |
Definition at line 3034 of file WorkDistrib.C.
References LocalWorkMsg::compute, Compute::doWork(), Compute::localWorkMsg, MACHINE_PROGRESS, and NAMD_bug().
void WorkDistrib::enqueueSelfA3 | ( | LocalWorkMsg * | msg | ) |
Definition at line 3039 of file WorkDistrib.C.
References LocalWorkMsg::compute, Compute::doWork(), Compute::localWorkMsg, MACHINE_PROGRESS, and NAMD_bug().
void WorkDistrib::enqueueSelfB1 | ( | LocalWorkMsg * | msg | ) |
Definition at line 3045 of file WorkDistrib.C.
References LocalWorkMsg::compute, Compute::doWork(), Compute::localWorkMsg, MACHINE_PROGRESS, and NAMD_bug().
void WorkDistrib::enqueueSelfB2 | ( | LocalWorkMsg * | msg | ) |
Definition at line 3050 of file WorkDistrib.C.
References LocalWorkMsg::compute, Compute::doWork(), Compute::localWorkMsg, MACHINE_PROGRESS, and NAMD_bug().
void WorkDistrib::enqueueSelfB3 | ( | LocalWorkMsg * | msg | ) |
Definition at line 3055 of file WorkDistrib.C.
References LocalWorkMsg::compute, Compute::doWork(), Compute::localWorkMsg, MACHINE_PROGRESS, and NAMD_bug().
void WorkDistrib::enqueueThole | ( | LocalWorkMsg * | msg | ) |
Definition at line 2991 of file WorkDistrib.C.
References LocalWorkMsg::compute, Compute::doWork(), Compute::localWorkMsg, MACHINE_PROGRESS, and NAMD_bug().
void WorkDistrib::enqueueWork | ( | LocalWorkMsg * | msg | ) |
Definition at line 2955 of file WorkDistrib.C.
References LocalWorkMsg::compute, Compute::doWork(), Compute::localWorkMsg, MACHINE_PROGRESS, and NAMD_bug().
void WorkDistrib::enqueueWorkA1 | ( | LocalWorkMsg * | msg | ) |
Definition at line 3061 of file WorkDistrib.C.
References LocalWorkMsg::compute, Compute::doWork(), Compute::localWorkMsg, MACHINE_PROGRESS, and NAMD_bug().
void WorkDistrib::enqueueWorkA2 | ( | LocalWorkMsg * | msg | ) |
Definition at line 3066 of file WorkDistrib.C.
References LocalWorkMsg::compute, Compute::doWork(), Compute::localWorkMsg, MACHINE_PROGRESS, and NAMD_bug().
void WorkDistrib::enqueueWorkA3 | ( | LocalWorkMsg * | msg | ) |
Definition at line 3071 of file WorkDistrib.C.
References LocalWorkMsg::compute, Compute::doWork(), Compute::localWorkMsg, MACHINE_PROGRESS, and NAMD_bug().
void WorkDistrib::enqueueWorkB1 | ( | LocalWorkMsg * | msg | ) |
Definition at line 3077 of file WorkDistrib.C.
References LocalWorkMsg::compute, Compute::doWork(), Compute::localWorkMsg, MACHINE_PROGRESS, and NAMD_bug().
void WorkDistrib::enqueueWorkB2 | ( | LocalWorkMsg * | msg | ) |
Definition at line 3082 of file WorkDistrib.C.
References LocalWorkMsg::compute, Compute::doWork(), Compute::localWorkMsg, MACHINE_PROGRESS, and NAMD_bug().
void WorkDistrib::enqueueWorkB3 | ( | LocalWorkMsg * | msg | ) |
Definition at line 3087 of file WorkDistrib.C.
References LocalWorkMsg::compute, Compute::doWork(), Compute::localWorkMsg, MACHINE_PROGRESS, and NAMD_bug().
void WorkDistrib::enqueueWorkC | ( | LocalWorkMsg * | msg | ) |
Definition at line 3095 of file WorkDistrib.C.
References LocalWorkMsg::compute, Compute::doWork(), Compute::localWorkMsg, MACHINE_PROGRESS, and NAMD_bug().
void WorkDistrib::finishCUDA | ( | LocalWorkMsg * | msg | ) |
Definition at line 3118 of file WorkDistrib.C.
References LocalWorkMsg::compute, Compute::doWork(), and MACHINE_PROGRESS.
void WorkDistrib::finishCUDAP2 | ( | LocalWorkMsg * | msg | ) |
Definition at line 3124 of file WorkDistrib.C.
References LocalWorkMsg::compute, Compute::doWork(), and MACHINE_PROGRESS.
void WorkDistrib::finishCUDAP3 | ( | LocalWorkMsg * | msg | ) |
Definition at line 3127 of file WorkDistrib.C.
References LocalWorkMsg::compute, Compute::doWork(), and MACHINE_PROGRESS.
void WorkDistrib::finishCUDAPatch | ( | FinishWorkMsg * | msg | ) |
Definition at line 3114 of file WorkDistrib.C.
References FinishWorkMsg::compute, FinishWorkMsg::data, and Compute::finishPatch().
void WorkDistrib::finishMIC | ( | LocalWorkMsg * | msg | ) |
Definition at line 3134 of file WorkDistrib.C.
References LocalWorkMsg::compute, Compute::doWork(), and MACHINE_PROGRESS.
void WorkDistrib::initHostDeviceLDB | ( | ) |
Definition at line 3389 of file WorkDistrib.C.
Definition at line 2274 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, SimParameters::computeMapFilename, computeMsmMsaType, computeMsmSerialType, computeMsmType, computeNonbondedCUDA2Type, computeNonbondedCUDAType, 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, ComputeMap::loadComputeMap(), SimParameters::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, SimParameters::sphericalBCOn, SimParameters::stirOn, SimParameters::storeComputeMap, SimParameters::tclBCOn, SimParameters::useCUDA2, SimParameters::useDPME, and SimParameters::usePMECUDA.
Referenced by Node::startup().
Definition at line 2732 of file WorkDistrib.C.
References Compute::cid, LocalWorkMsg::compute, computeAnglesType, computeAnisoType, computeBondsType, computeCrosstermsType, computeDihedralsType, computeExclsType, computeGromacsPairType, computeImpropersType, computeNonbondedCUDA2Type, computeNonbondedCUDAType, 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().
Definition at line 2901 of file WorkDistrib.C.
References LocalWorkMsg::compute, Compute::doWork(), Compute::getGBISPhase(), Compute::localWorkMsg, MACHINE_PROGRESS, NAMD_bug(), Compute::priority(), Compute::sequence(), and SET_PRIORITY.
Referenced by cuda_check_local_progress(), and cuda_check_remote_progress().
Definition at line 2934 of file WorkDistrib.C.
References LocalWorkMsg::compute, Compute::doWork(), Compute::getGBISPhase(), Compute::localWorkMsg, MACHINE_PROGRESS, NAMD_bug(), Compute::priority(), Compute::sequence(), and SET_PRIORITY.
Definition at line 1109 of file WorkDistrib.C.
References Lattice::a_p(), Lattice::a_r(), Lattice::b_p(), Lattice::b_r(), Lattice::c_p(), Lattice::c_r(), 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, numPatches, 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 170 of file WorkDistrib.C.
References cuda_initialize(), and mic_initialize().
Referenced by buildNodeAwarePeOrdering().
void WorkDistrib::recvComputeMapChanges | ( | ComputeMapChangeMsg * | msg | ) |
Definition at line 374 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 956 of file WorkDistrib.C.
References atoms, createAtomLists(), PatchMap::numPatches(), numPatches, PatchMap::Object(), and PatchMgr::sendAtoms().
void WorkDistrib::saveComputeMapChanges | ( | int | ep, |
CkGroupID | chareID | ||
) |
Definition at line 356 of file WorkDistrib.C.
Referenced by ComputeMgr::updateComputes2().
void WorkDistrib::savePatchMap | ( | PatchMapMsg * | msg | ) |
Definition at line 1018 of file WorkDistrib.C.
References SimParameters::isRecvSpanningTreeUnset(), SimParameters::isSendSpanningTreeUnset(), numPatches, PatchMap::Object(), ProxyMgr::Object(), PatchMapMsg::patchMapData, ProxyMgr::setRecvSpanning(), ProxyMgr::setSendSpanning(), Node::simParameters, split(), and PatchMap::unpack().
|
static |
Definition at line 3395 of file WorkDistrib.C.
|
static |
Definition at line 3382 of file WorkDistrib.C.
|
static |
Definition at line 3408 of file WorkDistrib.C.
Definition at line 1082 of file WorkDistrib.C.
References ALLBUTME, BUFSIZE, COMPUTEMAPTAG, MOStream::end(), ComputeMap::initPtrs(), ComputeMap::Object(), ComputeMap::pack(), and ComputeMap::unpack().
Referenced by Node::startup().
Definition at line 982 of file WorkDistrib.C.
References SimParameters::isRecvSpanningTreeUnset(), SimParameters::isSendSpanningTreeUnset(), numPatches, 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 3415 of file WorkDistrib.C.
|
inline |
Definition at line 107 of file WorkDistrib.h.
Referenced by Node::startup().
|
static |
Definition at line 304 of file WorkDistrib.C.
References ResizeArray< T >::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().