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 559 of file ProxyMgr.C.
References HomePatch::buildSpanningTree(), endi(), PatchMap::homePatch(), PatchMap::homePatchIDList(), iINFO(), iout, PatchMap::Object(), proxyRecvSpanning, proxySendSpanning, proxySpanDim, and ResizeArray< T >::size().
Referenced by Node::startup().
void ProxyMgr::buildProxySpanningTree2 | ( | ) |
Definition at line 577 of file ProxyMgr.C.
References ResizeArrayIter< Type >::begin(), ResizeArrayIter< Type >::end(), PatchMap::homePatch(), PatchMap::homePatchIDList(), PatchMap::homePatchList(), PatchMap::Object(), HomePatch::sendProxies(), and ResizeArray< T >::size().
Referenced by ComputeMgr::updateLocalComputes5().
void ProxyMgr::buildSpanningTree0 | ( | ) |
Definition at line 1007 of file ProxyMgr.C.
References ResizeArray< T >::find(), MAX_INTERNODE, PatchMap::node(), noInterNode(), PatchMap::numPatches(), numPatches, numProxies(), PatchMap::Object(), processCpuLoad(), ProxyTree::proxylist, proxyRecvSpanning, proxySendSpanning, proxySpanDim, ResizeArray< T >::resize(), ResizeArray< T >::setall(), ResizeArray< T >::size(), ProxyTree::sizes, ResizeArray< T >::swap(), and ProxyTree::trees.
Referenced by Rebalancer::createSpanningTree(), recvPatchProxyInfo(), and recvProxies().
Definition at line 417 of file ProxyMgr.C.
References UniqueSet< Elem >::add(), PatchMap::basePatchIDList(), computeNonbondedPairType, computeNonbondedSelfType, PatchMap::MaxOneAway, ComputeMap::node(), PatchMap::node(), ComputeMap::numComputes(), PatchMap::numPatches(), numPatches, ComputeMap::numPids(), PatchMap::Object(), ComputeMap::Object(), ComputeMap::pid(), PatchMap::registerPatch(), removeProxies(), ResizeArray< T >::size(), ComputeMap::type(), and PatchMap::upstreamNeighbors().
Referenced by Node::startup().
Definition at line 493 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(), ComputeNonbondedCUDA::registerPatches(), and ComputeMgr::updateLocalComputes().
ProxyTree & ProxyMgr::getPtree | ( | ) |
Definition at line 385 of file ProxyMgr.C.
Referenced by Rebalancer::createSpanningTree(), Rebalancer::decrSTLoad(), and Rebalancer::incrSTLoad().
int ProxyMgr::getRecvSpanning | ( | ) |
Definition at line 376 of file ProxyMgr.C.
References proxyRecvSpanning.
Referenced by Node::startup().
int ProxyMgr::getSendSpanning | ( | ) |
Definition at line 367 of file ProxyMgr.C.
References proxySendSpanning.
Referenced by Node::startup().
|
inline |
|
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(), ProxyPatch::ProxyPatch(), recvImmediateProxyAll(), recvImmediateProxyData(), recvNodeAwareSpanningTree(), recvSpanningTree(), ComputeNonbondedCUDA::registerPatches(), WorkDistrib::savePatchMap(), WorkDistrib::sendPatchMap(), HomePatch::sendProxies(), HomePatch::sendSpanningTree(), sendSpanningTrees(), Node::startup(), ComputeMgr::updateLocalComputes5(), and ProxyPatch::~ProxyPatch().
void ProxyMgr::recvData | ( | ProxyGBISP2DataMsg * | msg | ) |
Definition at line 1862 of file ProxyMgr.C.
References PatchMap::Object(), ProxyGBISP2DataMsg::patch, PatchMap::patch(), and ProxyPatch::receiveData().
void ProxyMgr::recvData | ( | ProxyGBISP3DataMsg * | msg | ) |
Definition at line 1877 of file ProxyMgr.C.
References PatchMap::Object(), ProxyGBISP3DataMsg::patch, PatchMap::patch(), and ProxyPatch::receiveData().
void ProxyMgr::recvImmediateProxyAll | ( | ProxyDataMsg * | msg | ) |
Definition at line 1711 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 1596 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 1506 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 1230 of file ProxyMgr.C.
References ResizeArray< T >::add(), ALLOCA, ProxyNodeAwareSpanningTreeMsg::allPes, PatchMap::homePatch(), ResizeArray< T >::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< T >::size().
void ProxyMgr::recvNodeAwareSpanningTreeOnHomePatch | ( | ProxyNodeAwareSpanningTreeMsg * | msg | ) |
Definition at line 1147 of file ProxyMgr.C.
References PatchMap::homePatch(), PatchMap::Object(), ProxyNodeAwareSpanningTreeMsg::patch, and HomePatch::recvNodeAwareSpanningTree().
void ProxyMgr::recvNodeAwareSTParent | ( | int | patch, |
int | parent | ||
) |
Definition at line 1416 of file ProxyMgr.C.
References PatchMap::Object(), PatchMap::patch(), and ProxyPatch::setSpanningTree().
void ProxyMgr::recvPatchProxyInfo | ( | PatchProxyListMsg * | msg | ) |
Definition at line 659 of file ProxyMgr.C.
References buildSpanningTree0(), PatchMap::numPatches(), PatchProxyListMsg::numPatches, PatchMap::Object(), PatchProxyListMsg::patchIDs, ProxyTree::proxylist, PatchProxyListMsg::proxyListLen, ProxyTree::proxyMsgCount, PatchProxyListMsg::proxyPEs, ResizeArray< T >::resize(), and sendSpanningTrees().
void ProxyMgr::recvProxies | ( | int | pid, |
int * | list, | ||
int | n | ||
) |
Definition at line 634 of file ProxyMgr.C.
References buildSpanningTree0(), if(), PatchMap::numPatches(), PatchMap::Object(), ProxyTree::proxylist, ProxyTree::proxyMsgCount, ResizeArray< T >::resize(), and sendSpanningTrees().
void ProxyMgr::recvProxyAll | ( | ProxyDataMsg * | msg | ) |
Definition at line 1694 of file ProxyMgr.C.
References PatchMap::Object(), ProxyDataMsg::patch, PatchMap::patch(), proxySendSpanning, and ProxyPatch::receiveAll().
void ProxyMgr::recvProxyData | ( | ProxyDataMsg * | msg | ) |
Definition at line 1580 of file ProxyMgr.C.
References PatchMap::Object(), ProxyDataMsg::patch, PatchMap::patch(), proxySendSpanning, and ProxyPatch::receiveData().
void ProxyMgr::recvRegisterProxy | ( | RegisterProxyMsg * | msg | ) |
Definition at line 533 of file ProxyMgr.C.
References PatchMap::homePatch(), PatchMap::Object(), RegisterProxyMsg::patch, and HomePatch::registerProxy().
void ProxyMgr::recvResult | ( | ProxyGBISP1ResultMsg * | msg | ) |
Definition at line 1858 of file ProxyMgr.C.
References PatchMap::homePatch(), PatchMap::Object(), ProxyGBISP1ResultMsg::patch, and HomePatch::receiveResult().
void ProxyMgr::recvResult | ( | ProxyGBISP2ResultMsg * | msg | ) |
Definition at line 1873 of file ProxyMgr.C.
References PatchMap::homePatch(), PatchMap::Object(), ProxyGBISP2ResultMsg::patch, and HomePatch::receiveResult().
void ProxyMgr::recvResults | ( | ProxyResultVarsizeMsg * | msg | ) |
Definition at line 1436 of file ProxyMgr.C.
References PatchMap::homePatch(), PatchMap::Object(), ProxyResultVarsizeMsg::patch, and HomePatch::receiveResults().
void ProxyMgr::recvResults | ( | ProxyResultMsg * | msg | ) |
Definition at line 1449 of file ProxyMgr.C.
References PatchMap::homePatch(), PatchMap::Object(), ProxyResultMsg::patch, and HomePatch::receiveResults().
void ProxyMgr::recvResults | ( | ProxyCombinedResultRawMsg * | omsg | ) |
Definition at line 1482 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 1175 of file ProxyMgr.C.
References ResizeArray< T >::add(), ResizeArray< T >::copy(), ProxySpanningTreeMsg::node, nodecount, PatchMap::Object(), Object(), PatchMap::patch(), ProxySpanningTreeMsg::patch, proxySpanDim, sendSpanningTree(), ProxyPatch::setSpanningTree(), ResizeArray< T >::size(), and ProxySpanningTreeMsg::tree.
void ProxyMgr::recvSpanningTreeOnHomePatch | ( | int | pid, |
int * | tree, | ||
int | n | ||
) |
Definition at line 1134 of file ProxyMgr.C.
References PatchMap::homePatch(), PatchMap::Object(), and HomePatch::recvSpanningTree().
void ProxyMgr::recvUnregisterProxy | ( | UnregisterProxyMsg * | msg | ) |
Definition at line 553 of file ProxyMgr.C.
References PatchMap::homePatch(), PatchMap::Object(), UnregisterProxyMsg::patch, and HomePatch::unregisterProxy().
Definition at line 519 of file ProxyMgr.C.
References RegisterProxyMsg::node, PatchMap::node(), PatchMap::Object(), and RegisterProxyMsg::patch.
Referenced by ProxyPatch::ProxyPatch().
Definition at line 389 of file ProxyMgr.C.
References UniqueSetIter< Type >::begin(), UniqueSet< Elem >::clear(), and UniqueSetIter< Type >::end().
Referenced by createProxies(), and ~ProxyMgr().
Definition at line 508 of file ProxyMgr.C.
References UniqueSet< Elem >::del(), UniqueSet< Elem >::find(), PatchMap::Object(), ProxyElem::proxyPatch, and PatchMap::unregisterPatch().
Referenced by removeUnusedProxies().
Definition at line 399 of file ProxyMgr.C.
References ResizeArray< T >::add(), ResizeArray< T >::begin(), UniqueSetIter< Type >::begin(), ResizeArray< T >::end(), UniqueSetIter< Type >::end(), and removeProxy().
Referenced by ComputeMgr::updateLocalComputes3().
void ProxyMgr::sendNodeAwareSpanningTree | ( | ProxyNodeAwareSpanningTreeMsg * | msg | ) |
Definition at line 1160 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 1140 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 600 of file ProxyMgr.C.
Referenced by HomePatch::sendProxies().
void ProxyMgr::sendProxyAll | ( | ProxyDataMsg * | msg, |
int | pcnt, | ||
int * | pids | ||
) |
Definition at line 1677 of file ProxyMgr.C.
References proxySendSpanning.
Referenced by HomePatch::positionsReady(), and recvImmediateProxyAll().
void ProxyMgr::sendProxyData | ( | ProxyDataMsg * | msg, |
int | pcnt, | ||
int * | pids | ||
) |
Definition at line 1563 of file ProxyMgr.C.
References proxySendSpanning.
Referenced by HomePatch::positionsReady(), and recvImmediateProxyData().
void ProxyMgr::sendResult | ( | ProxyGBISP1ResultMsg * | msg | ) |
Definition at line 1851 of file ProxyMgr.C.
References PatchMap::node(), PatchMap::Object(), and ProxyGBISP1ResultMsg::patch.
Referenced by ProxyPatch::boxClosed().
void ProxyMgr::sendResult | ( | ProxyGBISP2ResultMsg * | msg | ) |
Definition at line 1866 of file ProxyMgr.C.
References PatchMap::node(), PatchMap::Object(), and ProxyGBISP2ResultMsg::patch.
void ProxyMgr::sendResults | ( | ProxyResultVarsizeMsg * | msg | ) |
Definition at line 1428 of file ProxyMgr.C.
References PatchMap::node(), PatchMap::Object(), and ProxyResultVarsizeMsg::patch.
void ProxyMgr::sendResults | ( | ProxyResultMsg * | msg | ) |
Definition at line 1441 of file ProxyMgr.C.
References PatchMap::node(), PatchMap::Object(), and ProxyResultMsg::patch.
void ProxyMgr::sendResults | ( | ProxyCombinedResultMsg * | msg | ) |
Definition at line 1455 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 1155 of file ProxyMgr.C.
References ProxySpanningTreeMsg::tree.
Referenced by recvSpanningTree(), and HomePatch::sendSpanningTree().
void ProxyMgr::sendSpanningTrees | ( | ) |
Definition at line 1107 of file ProxyMgr.C.
References ResizeArray< T >::begin(), PatchMap::numPatches(), numPatches, PatchMap::Object(), Object(), ProxyTree::proxylist, sendNodeAwareSpanningTreeToHomePatch(), sendSpanningTreeToHomePatch(), ResizeArray< T >::size(), and ProxyTree::trees.
Referenced by recvPatchProxyInfo(), recvProxies(), and ComputeMgr::updateLocalComputes5().
void ProxyMgr::sendSpanningTreeToHomePatch | ( | int | pid, |
int * | tree, | ||
int | n | ||
) |
Definition at line 1128 of file ProxyMgr.C.
References PatchMap::node(), and PatchMap::Object().
Referenced by sendSpanningTrees().
void ProxyMgr::setProxyTreeBranchFactor | ( | int | dim | ) |
void ProxyMgr::setRecvSpanning | ( | ) |
Definition at line 371 of file ProxyMgr.C.
References proxyRecvSpanning.
Referenced by WorkDistrib::savePatchMap(), WorkDistrib::sendPatchMap(), and Node::startup().
void ProxyMgr::setSendSpanning | ( | ) |
Definition at line 362 of file ProxyMgr.C.
References proxySendSpanning.
Referenced by WorkDistrib::savePatchMap(), WorkDistrib::sendPatchMap(), and Node::startup().
Definition at line 539 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().