SST/macro
cartesian_topology.h
Go to the documentation of this file.
1 #ifndef CARTESIAN_TOPOLOGY_H
2 #define CARTESIAN_TOPOLOGY_H
3 
5 
6 namespace sstmac {
7 namespace hw {
8 
9 /**
10  * @brief The cartesian_topology class
11  * Encapsulates a topology like torus that can be naturally mapped onto
12  * an n-dimensional Cartesian (integer) coordinate system
13  */
15  public structured_topology
16 {
17  public:
18  /**
19  * @brief configure_geometric_paths
20  * For all possible geometric or structure paths, compute
21  * their redundances in terms of number of ports that go
22  * in the same geometric or structural direction, e.g.
23  * might be 3 ports that all go +X on a router
24  * @param [inout] redundancies
25  */
26  virtual void
27  configure_geometric_paths(std::vector<int>& redundancies) = 0;
28 
29  virtual void
31  switch_id current_sw_addr,
32  switch_id dest_sw_addr,
33  structured_routable::path &current_path,
34  structured_routable::path_set &paths) const;
35 
36  protected:
37  virtual void
38  init_factory_params(sprockit::sim_parameters *params);
39 
40  /**
41  * The number of redundant links (ports) comprising a geometric
42  * or structure direction in the topology
43  */
44  std::vector<int> red_;
45 };
46 
47 }
48 }
49 
50 #endif // CARTESIAN_TOPOLOGY_H
virtual void configure_geometric_paths(std::vector< int > &redundancies)=0
configure_geometric_paths For all possible geometric or structure paths, compute their redundances in...
The cartesian_topology class Encapsulates a topology like torus that can be naturally mapped onto an ...
topology_id switch_id
Definition: node_address.h:23
SUMI = Simulator unified messagine interface It is also the name for a solid ink in Japanese - i...
virtual void minimal_routes_to_switch(switch_id current_sw_addr, switch_id dest_sw_addr, structured_routable::path &current_path, structured_routable::path_set &paths) const
Encapsulates a topology like torus, fat tree, butterfly which has a regular, well-defined structure...
virtual void init_factory_params(sprockit::sim_parameters *params)
std::vector< int > red_
The number of redundant links (ports) comprising a geometric or structure direction in the topology...