|
virtual | ~xpress_ring () |
|
virtual std::string | to_string () const |
|
virtual void | init_factory_params (sprockit::sim_parameters *params) |
|
virtual void | connect_objects (internal_connectable_map &objects) |
| Given a set of connectables, connect them appropriately. More...
|
|
virtual long | num_leaf_switches () const |
| Structured topologies can be direct (torus) or indirect (fat tree). More...
|
|
virtual void | minimal_route_to_coords (const coordinates &src_coords, const coordinates &dest_coords, structured_routable::path &path) const |
| Workhorse function for implementing minimal_route_to_switch and #minimal_route_to_node. More...
|
|
virtual int | minimal_distance (const coordinates &src_coords, const coordinates &dest_coords) const |
| The function accepts either source or node coordinates. More...
|
|
virtual int | ndimensions () const |
| The number of distinct 'dimensions' in the topology. More...
|
|
virtual switch_id | switch_number (const coordinates &coords) const |
|
virtual void | productive_path (int dim, const coordinates &src, const coordinates &dst, structured_routable::path &path) const |
|
virtual int | radix () const |
|
virtual long | num_switches () const |
|
int | diameter () const |
|
virtual int | convert_to_port (int dim, int dir) const |
|
virtual | ~structured_topology () |
|
virtual void | build_internal_connectables (internal_connectable_map &connectables, sprockit::factory< connectable > *factory, partition *part, int my_rank, sprockit::sim_parameters *params, connectable *dummy) |
|
virtual void | build_endpoint_connectables (end_point_connectable_map &connectables, sprockit::factory< connectable > *factory, partition *part, int my_rank, sprockit::sim_parameters *params) |
|
virtual void | build_interface_connectables (int conc, end_point_connectable_map &connectables, sprockit::factory2< connectable > *nic_factory, partition *part, int my_rank, sprockit::sim_parameters *params, sprockit::factory_type *interconnect) |
|
virtual void | minimal_routes_to_coords (const coordinates &src_coords, const coordinates &dest_coords, structured_routable::path ¤t_path, structured_routable::path_set &paths) const |
|
virtual int | endpoints_per_switch (switch_id addr) const |
| Given a switch address, return number of nodes connected to it. More...
|
|
virtual int | num_nodes () const |
|
virtual int | num_endpoints () const |
|
coordinates | switch_coords (switch_id swid) const |
| Compute coordinates (e.g. More...
|
|
virtual coordinates | node_coords (node_id nid) const |
| Compute coordinates (e.g. More...
|
|
coordinates | endpoint_coords (node_id nid) const |
|
virtual switch_id | endpoint_to_ejection_switch (node_id nodeaddr, int &switch_port) const |
|
virtual switch_id | endpoint_to_injection_switch (node_id nodeaddr, int &switch_port) const |
|
virtual int | endpoint_to_ejection_port (node_id addr) const |
|
virtual int | endpoint_to_injection_port (node_id addr) const |
|
virtual int | endpoint_to_switch_port (node_id nid) const |
|
void | finalize_init () |
|
virtual void | productive_paths (structured_routable::path_set &paths, const coordinates ¤t, const coordinates &dst) |
|
std::string | label (node_id nid) const |
|
std::string | label (switch_id sid) const |
|
virtual void | minimal_route_to_switch (switch_id current_sw_addr, switch_id dest_sw_addr, structured_routable::path &path) const |
| Implementation of topology::minimal_route_to_switch. More...
|
|
virtual void | minimal_routes_to_switch (switch_id current_sw_addr, switch_id dest_sw_addr, structured_routable::path ¤t_path, structured_routable::path_set &paths) const |
|
virtual void | eject_paths_on_switch (node_id dest_addr, switch_id sw_addr, structured_routable::path_set &paths) const |
|
virtual int | num_hops_to_node (node_id src, node_id dst) const |
|
virtual std::vector< node_id > | nodes_connected_to_injection_switch (switch_id swaddr) const |
|
virtual std::vector< node_id > | nodes_connected_to_ejection_switch (switch_id swid) const |
|
virtual coordinates | neighbor_at_port (switch_id sid, int port) const |
|
virtual node_id | node_addr (const coordinates &coords) const |
|
virtual node_id | node_addr (const coordinates &sw_coords, int port) const |
|
virtual void | send_partners (traffic_pattern::type_t ty, node_id src_node, std::vector< node_id > &partners) const |
|
virtual void | recv_partners (traffic_pattern::type_t ty, node_id src_node, std::vector< node_id > &partners) const |
|
|
virtual void | compute_switch_coords (switch_id swid, coordinates &coords) const |
| Compute coordinates (e.g. More...
|
|
int | num_hops (int total_distance) const |
|
void | configure_injection_geometry (std::vector< int > &redundancies) |
|
virtual std::vector< node_id > | nodes_connected_to_switch (switch_id swaddr) const |
|
| structured_topology () |
|
void | partners (bool get_send_partner, traffic_pattern::type_t ty, node_id src, std::vector< node_id > &partner_list) const |
|
virtual void | nearest_neighbor_partners (const coordinates &src_sw_coords, int port, std::vector< node_id > &partners) const |
|
virtual void | tornado_recv_partners (const coordinates &src_sw_coords, int port, std::vector< node_id > &partners) const |
|
virtual void | tornado_send_partners (const coordinates &src_sw_coords, int port, std::vector< node_id > &partners) const |
|
virtual void | bit_complement_partners (const coordinates &src_sw_coords, int port, std::vector< node_id > &partners) const |
|
Definition at line 6 of file xpressring.h.
virtual int sstmac::hw::xpress_ring::ndimensions |
( |
| ) |
const |
|
virtual |
The number of distinct 'dimensions' in the topology.
This can correspond directly to standard X,Y,Z dimensions or the the number of levels in a fat tree. The keyword topology_redundant vector should have this many entries.
Implements sstmac::hw::structured_topology.
Referenced by to_string().
virtual long sstmac::hw::xpress_ring::num_leaf_switches |
( |
| ) |
const |
|
virtual |
Structured topologies can be direct (torus) or indirect (fat tree).
We therefore need to distinguish the total number of switches and the number of leaf switches - i.e. those directly connected to nodes. For direct topologies, num_switches and num_leaf_switches are the same. For indirect, num_leaf_switches < num_switches.
- Returns
- The number of leaf switches directly connected to compute nodes
Implements sstmac::hw::structured_topology.
Referenced by to_string().