gem5
v20.1.0.0
|
#include <Topology.hh>
Public Member Functions | |
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) | |
uint32_t | numSwitches () const |
void | createLinks (Network *net) |
void | print (std::ostream &out) const |
Private Member Functions | |
void | addLink (SwitchID src, SwitchID dest, BasicLink *link, PortDirection src_outport_dirn="", PortDirection dest_inport_dirn="") |
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) |
Matrix | shortest_path (const Matrix &weights, Matrix &latencies, Matrix &inter_switches) |
bool | link_is_shortest_path_to_node (SwitchID src, SwitchID next, SwitchID final, const Matrix &weights, const Matrix &dist, int vnet) |
NetDest | shortest_path_to_node (SwitchID src, SwitchID next, const Matrix &weights, const Matrix &dist, int vnet) |
Private Attributes | |
const uint32_t | m_nodes |
const uint32_t | m_number_of_switches |
int | m_vnets |
std::vector< BasicExtLink * > | m_ext_link_vector |
std::vector< BasicIntLink * > | m_int_link_vector |
LinkMap | m_link_map |
Definition at line 74 of file Topology.hh.
Topology::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 | ||
) |
Definition at line 52 of file Topology.cc.
References addLink(), AbstractController::getType(), AbstractController::getVersion(), ArmISA::i, m_int_link_vector, m_nodes, BasicRouter::params(), BasicExtLink::params(), and BasicIntLink::params().
|
private |
Definition at line 214 of file Topology.cc.
References LinkEntry::dst_inport_dirn, LinkEntry::link, m_link_map, m_nodes, m_number_of_switches, and LinkEntry::src_outport_dirn.
Referenced by Topology().
void Topology::createLinks | ( | Network * | net | ) |
Definition at line 111 of file Topology.cc.
References Stats::dist, fatal_if, ArmISA::i, INFINITE_LATENCY, ArmISA::j, MipsISA::l, BasicLink::m_latency, m_link_map, m_vnets, BasicLink::m_weight, makeLink(), BasicLink::mVnets, shortest_path(), shortest_path_to_node(), and ArmISA::v.
Referenced by SimpleNetwork::init(), and GarnetNetwork::init().
|
private |
Definition at line 332 of file Topology.cc.
References ArmISA::i, ArmISA::j, MipsISA::k, m_vnets, and ArmISA::v.
Referenced by shortest_path().
|
private |
Definition at line 399 of file Topology.cc.
References Stats::dist.
Referenced by shortest_path_to_node().
|
private |
Definition at line 246 of file Topology.cc.
References LinkEntry::dst_inport_dirn, MipsISA::l, LinkEntry::link, m_link_map, m_nodes, m_vnets, Network::makeExtInLink(), Network::makeExtOutLink(), Network::makeInternalLink(), BasicLink::mVnets, LinkEntry::src_outport_dirn, and ArmISA::v.
Referenced by createLinks().
|
inline |
Definition at line 81 of file Topology.hh.
References m_number_of_switches.
|
inline |
Definition at line 83 of file Topology.hh.
Referenced by operator<<().
|
private |
Definition at line 390 of file Topology.cc.
References Stats::dist, and extend_shortest_path().
Referenced by createLinks().
|
private |
Definition at line 408 of file Topology.cc.
References NetDest::add(), ArmISA::d, Stats::dist, DPRINTF, ArmISA::i, link_is_shortest_path_to_node(), and ArmISA::m.
Referenced by createLinks().
|
private |
Definition at line 111 of file Topology.hh.
|
private |
Definition at line 112 of file Topology.hh.
Referenced by Topology().
|
private |
Definition at line 114 of file Topology.hh.
Referenced by addLink(), createLinks(), and makeLink().
|
private |
Definition at line 107 of file Topology.hh.
Referenced by addLink(), makeLink(), and Topology().
|
private |
Definition at line 108 of file Topology.hh.
Referenced by addLink(), and numSwitches().
|
private |
Definition at line 109 of file Topology.hh.
Referenced by createLinks(), extend_shortest_path(), and makeLink().