PPL Logo

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

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

#include <treeStrategy_3dTorus_minHops.h>

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

Inheritance graph
[legend]
Collaboration diagram for topo::SpanningTreeStrategy_3dTorus_minHops< 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_minHops< 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 hop-bytes by trying to reduce the total number of hops across the tree. Is implicitly node-aware as on-node PEs will have a distance of zero and will end up as direct children in the spanning tree. Does not pay any attention to reducing the number of bytes on the network by minimizing inter-node traffic. For that, refer to SpanningTreeStrategy_3dTorus_minBytesHops.

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_minHops.h.


Member Function Documentation

template<typename Iterator, typename ValueType = typename std::iterator_traits<Iterator>::value_type>
virtual SpanningTreeVertex* topo::SpanningTreeStrategy_3dTorus_minHops< 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_minHops< 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:28 2020 for Charm++ by  doxygen 1.5.5