Go to the documentation of this file.
41 #ifndef __MEM_RUBY_NETWORK_TOPOLOGY_HH__
42 #define __MEM_RUBY_NETWORK_TOPOLOGY_HH__
50 #include "mem/ruby/protocol/LinkDirection.hh"
71 typedef std::map<std::pair<SwitchID, SwitchID>,
77 Topology(uint32_t num_nodes, uint32_t num_routers, uint32_t num_vnets,
83 void print(std::ostream& out)
const { out <<
"[Topology]"; }
125 #endif // __MEM_RUBY_NETWORK_TOPOLOGY_HH__
void makeLink(Network *net, SwitchID src, SwitchID dest, std::vector< NetDest > &routing_table_entry)
void extend_shortest_path(Matrix ¤t_dist, Matrix &latencies, Matrix &inter_switches)
void print(std::ostream &out) const
std::vector< std::vector< std::vector< int > > > Matrix
PortDirection dst_inport_dirn
uint32_t numSwitches() const
std::ostream & operator<<(std::ostream &out, const Topology &obj)
const uint32_t m_number_of_switches
bool link_is_shortest_path_to_node(SwitchID src, SwitchID next, SwitchID final, const Matrix &weights, const Matrix &dist, int vnet)
const FlagsType dist
Print the distribution.
Matrix shortest_path(const Matrix &weights, Matrix &latencies, Matrix &inter_switches)
NetDest shortest_path_to_node(SwitchID src, SwitchID next, const Matrix &weights, const Matrix &dist, int vnet)
std::vector< BasicExtLink * > m_ext_link_vector
std::vector< BasicIntLink * > m_int_link_vector
void createLinks(Network *net)
PortDirection src_outport_dirn
std::string PortDirection
Topology(uint32_t num_nodes, uint32_t num_routers, uint32_t num_vnets, const std::vector< BasicExtLink * > &ext_links, const std::vector< BasicIntLink * > &int_links)
void addLink(SwitchID src, SwitchID dest, BasicLink *link, PortDirection src_outport_dirn="", PortDirection dest_inport_dirn="")
std::map< std::pair< SwitchID, SwitchID >, std::vector< LinkEntry > > LinkMap
Generated on Wed Sep 30 2020 14:02:13 for gem5 by doxygen 1.8.17