ruby: network: garnet: fixed: removes net_ptr from links
This commit is contained in:
@@ -90,13 +90,6 @@ GarnetNetwork_d::init()
|
||||
}
|
||||
m_topology_ptr->createLinks(this);
|
||||
|
||||
// initialize the link's network pointers
|
||||
for (vector<NetworkLink_d*>::const_iterator i = m_links.begin();
|
||||
i != m_links.end(); ++i) {
|
||||
NetworkLink_d* net_link = safe_cast<NetworkLink_d*>(*i);
|
||||
net_link->init_net_ptr(this);
|
||||
}
|
||||
|
||||
// FaultModel: declare each router to the fault model
|
||||
if(isFaultModelEnabled()){
|
||||
for (vector<Router_d*>::const_iterator i= m_routers.begin();
|
||||
@@ -285,8 +278,9 @@ GarnetNetwork_d::collateLinkStats()
|
||||
void
|
||||
GarnetNetwork_d::collatePowerStats()
|
||||
{
|
||||
double sim_cycles = (double)(curCycle() - g_ruby_start);
|
||||
for (int i = 0; i < m_links.size(); i++) {
|
||||
m_links[i]->calculate_power();
|
||||
m_links[i]->calculate_power(sim_cycles);
|
||||
m_dynamic_link_power += m_links[i]->get_dynamic_power();
|
||||
m_static_link_power += m_links[i]->get_static_power();
|
||||
}
|
||||
|
||||
@@ -56,7 +56,7 @@ class NetworkLink_d : public ClockedObject, public Consumer
|
||||
int get_id(){return m_id;}
|
||||
void wakeup();
|
||||
|
||||
void calculate_power();
|
||||
void calculate_power(double);
|
||||
double get_dynamic_power() const { return m_power_dyn; }
|
||||
double get_static_power()const { return m_power_sta; }
|
||||
|
||||
@@ -69,7 +69,6 @@ class NetworkLink_d : public ClockedObject, public Consumer
|
||||
inline flit_d* peekLink() { return linkBuffer->peekTopFlit(); }
|
||||
inline flit_d* consumeLink() { return linkBuffer->getTopFlit(); }
|
||||
|
||||
void init_net_ptr(GarnetNetwork_d* net_ptr) { m_net_ptr = net_ptr; }
|
||||
uint32_t functionalWrite(Packet *);
|
||||
|
||||
private:
|
||||
@@ -77,7 +76,6 @@ class NetworkLink_d : public ClockedObject, public Consumer
|
||||
Cycles m_latency;
|
||||
int channel_width;
|
||||
|
||||
GarnetNetwork_d *m_net_ptr;
|
||||
flitBuffer_d *linkBuffer;
|
||||
Consumer *link_consumer;
|
||||
flitBuffer_d *link_srcQueue;
|
||||
|
||||
@@ -211,7 +211,7 @@ Router_d::calculate_power()
|
||||
}
|
||||
|
||||
void
|
||||
NetworkLink_d::calculate_power()
|
||||
NetworkLink_d::calculate_power(double sim_cycles)
|
||||
{
|
||||
OrionConfig* orion_cfg_ptr;
|
||||
OrionLink* orion_link_ptr;
|
||||
@@ -232,8 +232,6 @@ NetworkLink_d::calculate_power()
|
||||
channel_width_bits,
|
||||
orion_cfg_ptr);
|
||||
|
||||
double sim_cycles = (double)(m_net_ptr->curCycle() - g_ruby_start);
|
||||
|
||||
// Dynamic Power
|
||||
// Assume half the bits flipped on every link activity
|
||||
double link_dynamic_energy =
|
||||
|
||||
Reference in New Issue
Block a user