Go to the source code of this file.
Data Structures | |
class | SpanningTreeGenerator< Iterator > |
Abstract class (interface) to generate a spanning tree from a set of pes or logical (Charm++) nodes. More... | |
class | ST_RecursivePartition< Iterator > |
This strategy is phynode aware, and can form a tree of pes or logical nodes. More... | |
Functions | |
void | getNodeTopoTreeEdges (int node, int rootNode, int *nodes, int numnodes, unsigned int bfactor, int *parent, int *child_count, int **children) |
Calculate and return parent and children of 'node' in topo tree rooted at 'rootNode'. | |
void | getPETopoTreeEdges (int pe, int rootPE, int *pes, int numpes, unsigned int bfactor, int *parent, int *child_count, int **children) |
Calculate and return parent and children of 'pe' in topo tree rooted at 'rootPE'. | |
void | get_topo_tree_nbs (int root, int *parent, int *child_count, int **children) |
C API to ST_RecursivePartition_getTreeInfo (see below). | |
CmiSpanningTreeInfo * | ST_RecursivePartition_getTreeInfo (int root) |
obtain TreeInfo (parent and children) of CkMyNode() for tree rooted at specified node using ST_RecursivePartition. |
void getNodeTopoTreeEdges | ( | int | node, | |
int | rootNode, | |||
int * | nodes, | |||
int | numnodes, | |||
unsigned int | bfactor, | |||
int * | parent, | |||
int * | child_count, | |||
int ** | children | |||
) |
Calculate and return parent and children of 'node' in topo tree rooted at 'rootNode'.
The tree spans the specified 'nodes', or *all* nodes if nodes == NULL If nodes are given, rootNode must appear first in the array NOTE: caller is responsible for freeing array of children (if child_count > 0)
Definition at line 558 of file spanningTree.C.
References CmiSpanningTreeInfo::child_count, CmiSpanningTreeInfo::children, BGConverse::CkNumNodes(), getNeighborsTopoTree_R(), CmiSpanningTreeInfo::parent, and PUP::t.
Referenced by ST_RecursivePartition_getTreeInfo().
void getPETopoTreeEdges | ( | int | pe, | |
int | rootPE, | |||
int * | pes, | |||
int | numpes, | |||
unsigned int | bfactor, | |||
int * | parent, | |||
int * | child_count, | |||
int ** | children | |||
) |
Calculate and return parent and children of 'pe' in topo tree rooted at 'rootPE'.
The tree spans the specified 'pes', or *all* pes if pes == NULL If pes are given, rootPE must appear first in the array NOTE: caller is responsible for freeing array of children (if child_count > 0)
Definition at line 584 of file spanningTree.C.
References CmiSpanningTreeInfo::child_count, CmiSpanningTreeInfo::children, Converse::CkNumPes(), getNeighborsTopoTree_R(), CmiSpanningTreeInfo::parent, and PUP::t.
C API to ST_RecursivePartition_getTreeInfo (see below).
Definition at line 638 of file spanningTree.C.
References CmiSpanningTreeInfo::child_count, CmiSpanningTreeInfo::children, CmiSpanningTreeInfo::parent, ST_RecursivePartition_getTreeInfo(), and PUP::t.
Referenced by SendSpanningChildren().
CmiSpanningTreeInfo* ST_RecursivePartition_getTreeInfo | ( | int | root | ) |
obtain TreeInfo (parent and children) of CkMyNode() for tree rooted at specified node using ST_RecursivePartition.
Tree is assumed to cover all nodes. This function allocates and caches the TreeInfo structure, so any subsequent calls don't recalculate the tree.
Definition at line 615 of file spanningTree.C.
References _treeLock, CmiSpanningTreeInfo::child_count, CmiSpanningTreeInfo::children, BGConverse::CkMyNode(), BGConverse::CkMyRank(), CmiCreateLock(), CmiLock(), CmiUnlock(), getNodeTopoTreeEdges(), CmiSpanningTreeInfo::parent, PUP::t, and trees.
Referenced by _initCharm(), and get_topo_tree_nbs().