SST/macro
Public Member Functions | Protected Member Functions | Protected Attributes | List of all members
sstmac::hw::structured_router Class Reference

The structured_router class Implements a router that computes path on-the-fly using the geometry of the topology rather than using a table-based scheme with a table stored in the router. More...

#include <structured_router.h>

Inheritance diagram for sstmac::hw::structured_router:
Inheritance graph
Collaboration diagram for sstmac::hw::structured_router:
Collaboration graph

Public Member Functions

virtual ~structured_router ()
 
virtual void set_topology (topology *top)
 set_topology Set the topology to be used for route computations. More...
 
virtual void set_switch (network_switch *sw)
 set_switch Set the parent switch using this router to perform route computations More...
 
void minimal_route_to_node (node_id node_addr, structured_routable::path &path)
 
void minimal_routes_to_node (node_id node_addr, structured_routable::path &current_path, structured_routable::path_set &paths)
 minimal_routes_to_node Special version of routing function that computes all possible minimal paths. More...
 
virtual void minimal_route_to_switch (switch_id sw_addr, structured_routable::path &path)
 
virtual void productive_paths_to_switch (switch_id dst, structured_routable::path_set &paths)
 

Protected Member Functions

 structured_router (routing::algorithm_t algo)
 

Protected Attributes

structured_topologyregtop_
 

Detailed Description

The structured_router class Implements a router that computes path on-the-fly using the geometry of the topology rather than using a table-based scheme with a table stored in the router.

For example, a computation is performed on 3D torus coordinates to determine if +/- X,Y,Z is the required direction rather than just looking up port numbers in a table.

Definition at line 20 of file structured_router.h.

Constructor & Destructor Documentation

virtual sstmac::hw::structured_router::~structured_router ( )
inlinevirtual

Definition at line 25 of file structured_router.h.

References minimal_route_to_node(), minimal_route_to_switch(), minimal_routes_to_node(), productive_paths_to_switch(), set_switch(), and set_topology().

Here is the call graph for this function:

sstmac::hw::structured_router::structured_router ( routing::algorithm_t  algo)
inlineprotected

Definition at line 74 of file structured_router.h.

Member Function Documentation

void sstmac::hw::structured_router::minimal_route_to_node ( node_id  node_addr,
structured_routable::path path 
)

Referenced by ~structured_router().

virtual void sstmac::hw::structured_router::minimal_route_to_switch ( switch_id  sw_addr,
structured_routable::path path 
)
virtual
void sstmac::hw::structured_router::minimal_routes_to_node ( node_id  node_addr,
structured_routable::path current_path,
structured_routable::path_set paths 
)

minimal_routes_to_node Special version of routing function that computes all possible minimal paths.

Parameters
node_addr
[in,out]current_pathMetadata about the path taken so far. This may contain history information about previous steps
[inout[paths The set of all available minimal paths

Referenced by ~structured_router().

virtual void sstmac::hw::structured_router::productive_paths_to_switch ( switch_id  dst,
structured_routable::path_set paths 
)
virtual
virtual void sstmac::hw::structured_router::set_switch ( network_switch sw)
virtual

set_switch Set the parent switch using this router to perform route computations

Parameters
sw

Referenced by ~structured_router().

virtual void sstmac::hw::structured_router::set_topology ( topology top)
virtual

set_topology Set the topology to be used for route computations.

This should always call the parent router::set_topology function.

Parameters
top

Reimplemented in sstmac::hw::fat_tree_router, and sstmac::hw::minimal_router.

Referenced by ~structured_router().

Member Data Documentation

structured_topology* sstmac::hw::structured_router::regtop_
protected

Definition at line 77 of file structured_router.h.


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