NAMD
|
#include <ProxyMgr.h>
Static Public Member Functions | |
static ProxyMgr * | Object () |
Static Public Attributes | |
static int | nodecount = 0 |
Definition at line 316 of file ProxyMgr.h.
ProxyMgr::ProxyMgr | ( | ) |
ProxyMgr::~ProxyMgr | ( | ) |
void ProxyMgr::buildProxySpanningTree | ( | ) |
Definition at line 558 of file ProxyMgr.C.
References HomePatch::buildSpanningTree(), endi(), PatchMap::homePatch(), PatchMap::homePatchIDList(), iINFO(), iout, PatchMap::Object(), proxyRecvSpanning, proxySendSpanning, proxySpanDim, and ResizeArray< Elem >::size().
Referenced by Node::startup().
void ProxyMgr::buildProxySpanningTree2 | ( | ) |
Definition at line 576 of file ProxyMgr.C.
References ResizeArrayIter< T >::begin(), ResizeArrayIter< T >::end(), PatchMap::homePatch(), PatchMap::homePatchIDList(), PatchMap::homePatchList(), PatchMap::Object(), HomePatch::sendProxies(), and ResizeArray< Elem >::size().
Referenced by ComputeMgr::updateLocalComputes5().
void ProxyMgr::buildSpanningTree0 | ( | ) |
Definition at line 1006 of file ProxyMgr.C.
References ResizeArray< Elem >::find(), MAX_INTERNODE, PatchMap::node(), noInterNode(), PatchMap::numPatches(), numProxies(), PatchMap::Object(), processCpuLoad(), ProxyTree::proxylist, proxyRecvSpanning, proxySendSpanning, proxySpanDim, ResizeArray< Elem >::resize(), ResizeArray< Elem >::setall(), ResizeArray< Elem >::size(), ProxyTree::sizes, ResizeArray< Elem >::swap(), and ProxyTree::trees.
Referenced by Rebalancer::createSpanningTree(), recvPatchProxyInfo(), and recvProxies().
void ProxyMgr::createProxies | ( | void | ) |
Definition at line 416 of file ProxyMgr.C.
References UniqueSet< Elem >::add(), PatchMap::basePatchIDList(), computeNonbondedPairType, computeNonbondedSelfType, PatchMap::MaxOneAway, ComputeMap::node(), PatchMap::node(), ComputeMap::numComputes(), PatchMap::numPatches(), ComputeMap::numPids(), PatchMap::Object(), ComputeMap::Object(), ComputeMap::pid(), PatchMap::registerPatch(), removeProxies(), ResizeArray< Elem >::size(), ComputeMap::type(), and PatchMap::upstreamNeighbors().
Referenced by Node::startup().
void ProxyMgr::createProxy | ( | PatchID | pid | ) |
Definition at line 492 of file ProxyMgr.C.
References UniqueSet< Elem >::add(), DebugM, Patch::getPatchID(), PatchMap::Object(), PatchMap::patch(), and PatchMap::registerPatch().
Referenced by ComputeHomeTuples< TholeElem, Thole, TholeValue >::initialize(), and ComputeMgr::updateLocalComputes().
ProxyTree & ProxyMgr::getPtree | ( | ) |
Definition at line 384 of file ProxyMgr.C.
Referenced by Rebalancer::createSpanningTree(), Rebalancer::decrSTLoad(), and Rebalancer::incrSTLoad().
int ProxyMgr::getRecvSpanning | ( | ) |
Definition at line 375 of file ProxyMgr.C.
References proxyRecvSpanning.
Referenced by Node::startup().
int ProxyMgr::getSendSpanning | ( | ) |
Definition at line 366 of file ProxyMgr.C.
References proxySendSpanning.
Referenced by Node::startup().
|
inline |
Definition at line 396 of file ProxyMgr.h.
Referenced by buildSpanningTree0(), and sendSpanningTrees().
|
inlinestatic |
Definition at line 394 of file ProxyMgr.h.
Referenced by ProxyPatch::boxClosed(), Rebalancer::createSpanningTree(), Rebalancer::decrSTLoad(), Rebalancer::incrSTLoad(), ComputeHomeTuples< TholeElem, Thole, TholeValue >::initialize(), Sync::openSync(), HomePatch::positionsReady(), HomePatch::positionsReady_SOA(), ProxyPatch::ProxyPatch(), recvImmediateProxyAll(), recvImmediateProxyData(), recvNodeAwareSpanningTree(), recvSpanningTree(), WorkDistrib::savePatchMap(), WorkDistrib::sendPatchMap(), HomePatch::sendProxies(), HomePatch::sendSpanningTree(), sendSpanningTrees(), Node::startup(), ComputeMgr::updateLocalComputes5(), and ProxyPatch::~ProxyPatch().
void ProxyMgr::recvData | ( | ProxyGBISP2DataMsg * | msg | ) |
Definition at line 1861 of file ProxyMgr.C.
References PatchMap::Object(), ProxyGBISP2DataMsg::patch, PatchMap::patch(), and ProxyPatch::receiveData().
void ProxyMgr::recvData | ( | ProxyGBISP3DataMsg * | msg | ) |
Definition at line 1876 of file ProxyMgr.C.
References PatchMap::Object(), ProxyGBISP3DataMsg::patch, PatchMap::patch(), and ProxyPatch::receiveData().
void ProxyMgr::recvImmediateProxyAll | ( | ProxyDataMsg * | msg | ) |
Definition at line 1710 of file ProxyMgr.C.
References ProxyPatch::getSpanningTreeChildPtr(), ProxyPatch::getSpanningTreeNChild(), PatchMap::Object(), Object(), ProxyDataMsg::patch, PatchMap::patch(), proxySendSpanning, and sendProxyAll().
void ProxyMgr::recvImmediateProxyData | ( | ProxyDataMsg * | msg | ) |
Definition at line 1595 of file ProxyMgr.C.
References ProxyPatch::getSpanningTreeChildPtr(), ProxyPatch::getSpanningTreeNChild(), PatchMap::Object(), Object(), ProxyDataMsg::patch, PatchMap::patch(), proxySendSpanning, and sendProxyData().
void ProxyMgr::recvImmediateResults | ( | ProxyCombinedResultRawMsg * | omsg | ) |
Definition at line 1505 of file ProxyMgr.C.
References ProxyPatch::depositCombinedResultRawMsg(), ProxyPatch::getSpanningTreeParent(), PatchMap::homePatch(), PatchMap::Object(), PatchMap::patch(), ProxyCombinedResultRawMsg::patch, and ProxyCombinedResultMsg::toRaw().
void ProxyMgr::recvNodeAwareSpanningTree | ( | ProxyNodeAwareSpanningTreeMsg * | msg | ) |
Definition at line 1229 of file ProxyMgr.C.
References ResizeArray< Elem >::add(), ALLOCA, ProxyNodeAwareSpanningTreeMsg::allPes, PatchMap::homePatch(), ResizeArray< Elem >::item(), nodecount, ProxyNodeAwareSpanningTreeMsg::numNodesWithProxies, ProxyNodeAwareSpanningTreeMsg::numPesOfNode, PatchMap::Object(), Object(), PatchMap::patch(), ProxyNodeAwareSpanningTreeMsg::patch, ProxyNodeAwareSpanningTreeMsg::printOut(), ProxyNodeAwareSpanningTreeMsg::procID, proxySpanDim, NodeProxyMgr::registerPatch(), sendNodeAwareSpanningTree(), ProxyPatch::setSpanningTree(), and ResizeArray< Elem >::size().
void ProxyMgr::recvNodeAwareSpanningTreeOnHomePatch | ( | ProxyNodeAwareSpanningTreeMsg * | msg | ) |
Definition at line 1146 of file ProxyMgr.C.
References PatchMap::homePatch(), PatchMap::Object(), ProxyNodeAwareSpanningTreeMsg::patch, and HomePatch::recvNodeAwareSpanningTree().
void ProxyMgr::recvNodeAwareSTParent | ( | int | patch, |
int | parent | ||
) |
Definition at line 1415 of file ProxyMgr.C.
References PatchMap::Object(), PatchMap::patch(), and ProxyPatch::setSpanningTree().
void ProxyMgr::recvPatchProxyInfo | ( | PatchProxyListMsg * | msg | ) |
Definition at line 658 of file ProxyMgr.C.
References buildSpanningTree0(), PatchMap::numPatches(), PatchProxyListMsg::numPatches, PatchMap::Object(), PatchProxyListMsg::patchIDs, ProxyTree::proxylist, PatchProxyListMsg::proxyListLen, ProxyTree::proxyMsgCount, PatchProxyListMsg::proxyPEs, ResizeArray< Elem >::resize(), and sendSpanningTrees().
void ProxyMgr::recvProxies | ( | int | pid, |
int * | list, | ||
int | n | ||
) |
Definition at line 633 of file ProxyMgr.C.
References buildSpanningTree0(), PatchMap::numPatches(), PatchMap::Object(), ProxyTree::proxylist, ProxyTree::proxyMsgCount, ResizeArray< Elem >::resize(), and sendSpanningTrees().
void ProxyMgr::recvProxyAll | ( | ProxyDataMsg * | msg | ) |
Definition at line 1693 of file ProxyMgr.C.
References PatchMap::Object(), ProxyDataMsg::patch, PatchMap::patch(), proxySendSpanning, and ProxyPatch::receiveAll().
void ProxyMgr::recvProxyData | ( | ProxyDataMsg * | msg | ) |
Definition at line 1579 of file ProxyMgr.C.
References PatchMap::Object(), ProxyDataMsg::patch, PatchMap::patch(), proxySendSpanning, and ProxyPatch::receiveData().
void ProxyMgr::recvRegisterProxy | ( | RegisterProxyMsg * | msg | ) |
Definition at line 532 of file ProxyMgr.C.
References PatchMap::homePatch(), PatchMap::Object(), RegisterProxyMsg::patch, and HomePatch::registerProxy().
void ProxyMgr::recvResult | ( | ProxyGBISP1ResultMsg * | msg | ) |
Definition at line 1857 of file ProxyMgr.C.
References PatchMap::homePatch(), PatchMap::Object(), ProxyGBISP1ResultMsg::patch, and HomePatch::receiveResult().
void ProxyMgr::recvResult | ( | ProxyGBISP2ResultMsg * | msg | ) |
Definition at line 1872 of file ProxyMgr.C.
References PatchMap::homePatch(), PatchMap::Object(), ProxyGBISP2ResultMsg::patch, and HomePatch::receiveResult().
void ProxyMgr::recvResults | ( | ProxyResultVarsizeMsg * | msg | ) |
Definition at line 1435 of file ProxyMgr.C.
References PatchMap::homePatch(), PatchMap::Object(), ProxyResultVarsizeMsg::patch, and HomePatch::receiveResults().
void ProxyMgr::recvResults | ( | ProxyResultMsg * | msg | ) |
Definition at line 1448 of file ProxyMgr.C.
References PatchMap::homePatch(), PatchMap::Object(), ProxyResultMsg::patch, and HomePatch::receiveResults().
void ProxyMgr::recvResults | ( | ProxyCombinedResultRawMsg * | omsg | ) |
Definition at line 1481 of file ProxyMgr.C.
References PatchMap::homePatch(), NAMD_bug(), PatchMap::Object(), ProxyCombinedResultRawMsg::patch, proxyRecvSpanning, and HomePatch::receiveResults().
void ProxyMgr::recvSpanningTree | ( | ProxySpanningTreeMsg * | msg | ) |
Definition at line 1174 of file ProxyMgr.C.
References ResizeArray< Elem >::add(), ResizeArray< Elem >::copy(), ProxySpanningTreeMsg::node, nodecount, PatchMap::Object(), Object(), PatchMap::patch(), ProxySpanningTreeMsg::patch, proxySpanDim, sendSpanningTree(), ProxyPatch::setSpanningTree(), ResizeArray< Elem >::size(), and ProxySpanningTreeMsg::tree.
void ProxyMgr::recvSpanningTreeOnHomePatch | ( | int | pid, |
int * | tree, | ||
int | n | ||
) |
Definition at line 1133 of file ProxyMgr.C.
References PatchMap::homePatch(), PatchMap::Object(), and HomePatch::recvSpanningTree().
void ProxyMgr::recvUnregisterProxy | ( | UnregisterProxyMsg * | msg | ) |
Definition at line 552 of file ProxyMgr.C.
References PatchMap::homePatch(), PatchMap::Object(), UnregisterProxyMsg::patch, and HomePatch::unregisterProxy().
void ProxyMgr::registerProxy | ( | PatchID | pid | ) |
Definition at line 518 of file ProxyMgr.C.
References RegisterProxyMsg::node, PatchMap::node(), PatchMap::Object(), and RegisterProxyMsg::patch.
Referenced by ProxyPatch::ProxyPatch().
void ProxyMgr::removeProxies | ( | void | ) |
Definition at line 388 of file ProxyMgr.C.
References UniqueSetIter< T >::begin(), UniqueSet< Elem >::clear(), and UniqueSetIter< T >::end().
Referenced by createProxies(), and ~ProxyMgr().
void ProxyMgr::removeProxy | ( | PatchID | pid | ) |
Definition at line 507 of file ProxyMgr.C.
References UniqueSet< Elem >::del(), UniqueSet< Elem >::find(), PatchMap::Object(), ProxyElem::proxyPatch, and PatchMap::unregisterPatch().
Referenced by removeUnusedProxies().
void ProxyMgr::removeUnusedProxies | ( | void | ) |
Definition at line 398 of file ProxyMgr.C.
References ResizeArray< Elem >::add(), ResizeArray< Elem >::begin(), UniqueSetIter< T >::begin(), ResizeArray< Elem >::end(), UniqueSetIter< T >::end(), and removeProxy().
Referenced by ComputeMgr::updateLocalComputes3().
void ProxyMgr::sendNodeAwareSpanningTree | ( | ProxyNodeAwareSpanningTreeMsg * | msg | ) |
Definition at line 1159 of file ProxyMgr.C.
References ProxyNodeAwareSpanningTreeMsg::allPes, and ProxyNodeAwareSpanningTreeMsg::patch.
Referenced by recvNodeAwareSpanningTree().
void ProxyMgr::sendNodeAwareSpanningTreeToHomePatch | ( | int | pid, |
proxyTreeNode * | tree, | ||
int | n | ||
) |
Definition at line 1139 of file ProxyMgr.C.
References ProxyNodeAwareSpanningTreeMsg::getANewMsg(), PatchMap::node(), and PatchMap::Object().
Referenced by sendSpanningTrees().
void ProxyMgr::sendProxies | ( | int | pid, |
int * | list, | ||
int | n | ||
) |
Definition at line 599 of file ProxyMgr.C.
Referenced by HomePatch::sendProxies().
void ProxyMgr::sendProxyAll | ( | ProxyDataMsg * | msg, |
int | pcnt, | ||
int * | pids | ||
) |
Definition at line 1676 of file ProxyMgr.C.
References proxySendSpanning.
Referenced by HomePatch::positionsReady(), HomePatch::positionsReady_SOA(), and recvImmediateProxyAll().
void ProxyMgr::sendProxyData | ( | ProxyDataMsg * | msg, |
int | pcnt, | ||
int * | pids | ||
) |
Definition at line 1562 of file ProxyMgr.C.
References proxySendSpanning.
Referenced by HomePatch::positionsReady(), HomePatch::positionsReady_SOA(), and recvImmediateProxyData().
void ProxyMgr::sendResult | ( | ProxyGBISP1ResultMsg * | msg | ) |
Definition at line 1850 of file ProxyMgr.C.
References PatchMap::node(), PatchMap::Object(), and ProxyGBISP1ResultMsg::patch.
Referenced by ProxyPatch::boxClosed().
void ProxyMgr::sendResult | ( | ProxyGBISP2ResultMsg * | msg | ) |
Definition at line 1865 of file ProxyMgr.C.
References PatchMap::node(), PatchMap::Object(), and ProxyGBISP2ResultMsg::patch.
void ProxyMgr::sendResults | ( | ProxyResultVarsizeMsg * | msg | ) |
Definition at line 1427 of file ProxyMgr.C.
References PatchMap::node(), PatchMap::Object(), and ProxyResultVarsizeMsg::patch.
void ProxyMgr::sendResults | ( | ProxyResultMsg * | msg | ) |
Definition at line 1440 of file ProxyMgr.C.
References PatchMap::node(), PatchMap::Object(), and ProxyResultMsg::patch.
void ProxyMgr::sendResults | ( | ProxyCombinedResultMsg * | msg | ) |
Definition at line 1454 of file ProxyMgr.C.
References ProxyPatch::depositCombinedResultMsg(), ProxyPatch::getSpanningTreeParent(), PatchMap::Object(), PatchMap::patch(), ProxyCombinedResultMsg::patch, and ProxyCombinedResultMsg::toRaw().
void ProxyMgr::sendSpanningTree | ( | ProxySpanningTreeMsg * | msg | ) |
Definition at line 1154 of file ProxyMgr.C.
References ProxySpanningTreeMsg::tree.
Referenced by recvSpanningTree(), and HomePatch::sendSpanningTree().
void ProxyMgr::sendSpanningTrees | ( | ) |
Definition at line 1106 of file ProxyMgr.C.
References ResizeArray< Elem >::begin(), PatchMap::numPatches(), numProxies(), PatchMap::Object(), Object(), ProxyTree::proxylist, sendNodeAwareSpanningTreeToHomePatch(), sendSpanningTreeToHomePatch(), ResizeArray< Elem >::size(), and ProxyTree::trees.
Referenced by recvPatchProxyInfo(), recvProxies(), and ComputeMgr::updateLocalComputes5().
void ProxyMgr::sendSpanningTreeToHomePatch | ( | int | pid, |
int * | tree, | ||
int | n | ||
) |
Definition at line 1127 of file ProxyMgr.C.
References PatchMap::node(), and PatchMap::Object().
Referenced by sendSpanningTrees().
void ProxyMgr::setProxyTreeBranchFactor | ( | int | dim | ) |
void ProxyMgr::setRecvSpanning | ( | ) |
Definition at line 370 of file ProxyMgr.C.
References proxyRecvSpanning.
Referenced by WorkDistrib::savePatchMap(), WorkDistrib::sendPatchMap(), and Node::startup().
void ProxyMgr::setSendSpanning | ( | ) |
Definition at line 361 of file ProxyMgr.C.
References proxySendSpanning.
Referenced by WorkDistrib::savePatchMap(), WorkDistrib::sendPatchMap(), and Node::startup().
void ProxyMgr::unregisterProxy | ( | PatchID | pid | ) |
Definition at line 538 of file ProxyMgr.C.
References UnregisterProxyMsg::node, PatchMap::node(), PatchMap::Object(), and UnregisterProxyMsg::patch.
Referenced by ProxyPatch::~ProxyPatch().
|
static |
Definition at line 398 of file ProxyMgr.h.
Referenced by recvNodeAwareSpanningTree(), recvSpanningTree(), and ComputeMgr::updateLocalComputes3().