gem5 v24.0.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 78 of file Topology.hh.
gem5::ruby::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 56 of file Topology.cc.
References addLink(), gem5::ruby::AbstractController::getType(), gem5::ruby::AbstractController::getVersion(), gem5::ArmISA::i, m_int_link_vector, m_nodes, and gem5::SimObject::params().
|
private |
Definition at line 218 of file Topology.cc.
References gem5::ruby::LinkEntry::dst_inport_dirn, gem5::ruby::LinkEntry::link, m_link_map, m_nodes, m_number_of_switches, and gem5::ruby::LinkEntry::src_outport_dirn.
Referenced by Topology().
void gem5::ruby::Topology::createLinks | ( | Network * | net | ) |
Definition at line 115 of file Topology.cc.
References gem5::statistics::dist, fatal_if, gem5::ArmISA::i, gem5::ruby::INFINITE_LATENCY, gem5::MipsISA::l, gem5::ruby::BasicLink::m_latency, m_link_map, m_vnets, gem5::ruby::BasicLink::m_weight, makeLink(), gem5::ruby::BasicLink::mVnets, shortest_path(), shortest_path_to_node(), and gem5::ArmISA::v.
Referenced by gem5::ruby::garnet::GarnetNetwork::init(), and gem5::ruby::SimpleNetwork::init().
|
private |
Definition at line 336 of file Topology.cc.
References gem5::ArmISA::i, gem5::MipsISA::k, m_vnets, and gem5::ArmISA::v.
Referenced by shortest_path().
|
private |
Definition at line 403 of file Topology.cc.
References gem5::statistics::dist.
Referenced by shortest_path_to_node().
|
private |
Definition at line 250 of file Topology.cc.
References gem5::ruby::LinkEntry::dst_inport_dirn, gem5::MipsISA::l, gem5::ruby::LinkEntry::link, m_link_map, m_nodes, m_vnets, gem5::ruby::Network::makeExtInLink(), gem5::ruby::Network::makeExtOutLink(), gem5::ruby::Network::makeInternalLink(), gem5::ruby::BasicLink::mVnets, gem5::ruby::LinkEntry::src_outport_dirn, and gem5::ArmISA::v.
Referenced by createLinks().
|
inline |
Definition at line 85 of file Topology.hh.
References m_number_of_switches.
|
inline |
Definition at line 87 of file Topology.hh.
Referenced by gem5::ruby::operator<<().
|
private |
Definition at line 394 of file Topology.cc.
References gem5::statistics::dist, and extend_shortest_path().
Referenced by createLinks().
|
private |
Definition at line 412 of file Topology.cc.
References gem5::ruby::NetDest::add(), gem5::ArmISA::d, gem5::statistics::dist, DPRINTF, gem5::ArmISA::i, link_is_shortest_path_to_node(), and gem5::ArmISA::m.
Referenced by createLinks().
|
private |
Definition at line 115 of file Topology.hh.
|
private |
Definition at line 116 of file Topology.hh.
Referenced by Topology().
|
private |
Definition at line 118 of file Topology.hh.
Referenced by addLink(), createLinks(), and makeLink().
|
private |
Definition at line 111 of file Topology.hh.
Referenced by addLink(), makeLink(), and Topology().
|
private |
Definition at line 112 of file Topology.hh.
Referenced by addLink(), and numSwitches().
|
private |
Definition at line 113 of file Topology.hh.
Referenced by createLinks(), extend_shortest_path(), and makeLink().