PPL Logo

topo::SpanningTreeStrategy_nodeAware_minBytes< Iterator, ValueType > Class Template Reference

A concrete tree builder that is aware of cpu topology (ie, node aware) while constructing spanning trees. More...

#include <treeStrategy_nodeAware_minBytes.h>

Inheritance diagram for topo::SpanningTreeStrategy_nodeAware_minBytes< Iterator, ValueType >:

Inheritance graph
[legend]
Collaboration diagram for topo::SpanningTreeStrategy_nodeAware_minBytes< Iterator, ValueType >:

Collaboration graph
[legend]

Public Member Functions

virtual SpanningTreeVertexbuildNextGen (const Iterator firstVtx, const Iterator beyondLastVtx, const int maxBranches=2)
 Concrete builders should implement this (preferably only for the appropriate specializations).

Detailed Description

template<typename Iterator, typename ValueType = typename std::iterator_traits<Iterator>::value_type>
class topo::SpanningTreeStrategy_nodeAware_minBytes< Iterator, ValueType >

A concrete tree builder that is aware of cpu topology (ie, node aware) while constructing spanning trees.

Minimizes the total bytes on the network by constructing separate sub-tree(s) for same-node PEs. Uses the cpuTopology API defined in charm. Hence, should be node-aware in all environments.

Note that this node awareness has nothing to do with charm smp builds. Rather, its about minimizing the number of messages that arrive or leave a single physical machine node for a multicast / reduction.

Definition at line 25 of file treeStrategy_nodeAware_minBytes.h.


Member Function Documentation

template<typename Iterator, typename ValueType = typename std::iterator_traits<Iterator>::value_type>
virtual SpanningTreeVertex* topo::SpanningTreeStrategy_nodeAware_minBytes< Iterator, ValueType >::buildNextGen ( const Iterator  firstVtx,
const Iterator  beyondLastVtx,
const int  maxBranches = 2 
) [inline, virtual]

Concrete builders should implement this (preferably only for the appropriate specializations).

Implements topo::SpanningTreeStrategy< Iterator >.

Definition at line 28 of file treeStrategy_nodeAware_minBytes.h.

References topo::impl::buildNextGen_nodeAware_minBytes().

Here is the call graph for this function:


The documentation for this class was generated from the following file:

Generated on Mon Sep 21 08:34:29 2020 for Charm++ by  doxygen 1.5.5