57 :
Network(p), m_buffer_size(p->buffer_size),
58 m_endpoint_bandwidth(p->endpoint_bandwidth),
59 m_adaptive_routing(p->adaptive_routing)
63 i != p->routers.end(); ++
i) {
88 const NetDest& routing_table_entry)
98 routing_table_entry, simple_link->
m_latency,
105 const NetDest& routing_table_entry)
115 const NetDest& routing_table_entry,
127 queues[
i] = buffer_ptr;
134 m_switches[src]->addOutPort(queues, routing_table_entry,
144 for (MessageSizeType
type = MessageSizeType_FIRST;
145 type < MessageSizeType_NUM; ++
type) {
147 .
name(
name() +
".msg_count." + MessageSizeType_to_string(
type))
151 .
name(
name() +
".msg_byte." + MessageSizeType_to_string(
type))
178 out <<
"[SimpleNetwork]";
182 SimpleNetworkParams::create()
210 uint32_t num_functional_writes = 0;
213 num_functional_writes +=
m_switches[
i]->functionalWrite(pkt);
219 return num_functional_writes;
std::vector< std::vector< MessageBuffer * > > m_toNetQueues
void init()
init() is called after all C++ SimObjects have been created and all ports are connected.
void init_net_ptr(SimpleNetwork *net_ptr)
Stats::Formula m_msg_counts[MessageSizeType_NUM]
Overload hash function for BasicBlockRange type.
Topology * m_topology_ptr
bool functionalRead(Packet *pkt)
std::string PortDirection
uint32_t functionalWrite(Packet *pkt)
std::vector< Switch * > m_switches
void makeInternalLink(SwitchID src, SwitchID dest, BasicLink *link, const NetDest &routing_table_entry, PortDirection src_outport, PortDirection dst_inport)
Stats::Formula m_msg_bytes[MessageSizeType_NUM]
std::vector< MessageBuffer * > m_int_link_buffers
A Packet is used to encapsulate a transfer between two objects in the memory system (e...
void makeExtOutLink(SwitchID src, NodeID dest, BasicLink *link, const NetDest &routing_table_entry)
static uint32_t MessageSizeType_to_int(MessageSizeType size_type)
void print(std::ostream &out) const
virtual const std::string name() const
NodeID getLocalNodeID(NodeID global_id) const
void init() override
init() is called after all C++ SimObjects have been created and all ports are connected.
void regStats()
Callback to set stat parameters.
void makeExtInLink(NodeID src, SwitchID dest, BasicLink *link, const NetDest &routing_table_entry)
virtual void regStats()
Callback to set stat parameters.
static uint32_t m_virtual_networks
const FlagsType nozero
Don't print if this is zero.
void createLinks(Network *net)
std::vector< std::vector< MessageBuffer * > > m_fromNetQueues
SimpleNetwork(const Params *p)
int m_num_connected_buffers