PPL Logo

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

A concrete tree builder for use on machines with a 3D Torus topology. More...

#include <treeStrategy_3dTorus_minBytesHops.h>

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

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

Collaboration graph
[legend]

Public Member Functions

virtual SpanningTreeVertexbuildNextGen (const Iterator firstVtx, const Iterator beyondLastVtx, const int maxBranches=2)=0
 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_3dTorus_minBytesHops< Iterator, ValueType >

A concrete tree builder for use on machines with a 3D Torus topology.

Naturally, can also work with 3D meshes (portions of the torus).

Reduces the total number of bytes that reach the network (ie reduces inter-node traffic) by building separate sub-trees to span intra-node PEs, and then reduces the total number of hops across the whole tree. Hence, should be more effictive than the strategy that reduces hops alone, but possibly at the expense of perfect balance in the spanning tree.

Specialized and implemented only for data type in input container = vtxType / SpanningTreeVertex.

Note:
: If its a container of SpanningTreeVertices, the next gen info is stored in the parent element and a copy of the parent is also returned.

Definition at line 26 of file treeStrategy_3dTorus_minBytesHops.h.


Member Function Documentation

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

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

Implements topo::SpanningTreeStrategy< Iterator >.

Referenced by topo::topo::SpanningTreeStrategy_3dTorus_minBytesHops< Iterator, vtxType >::buildNextGen().

Here is the caller graph for this function:


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

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