changeset 76f7c2858c5c in /z/repo/m5
details: http://repo.m5sim.org/m5?cmd=changeset;node=76f7c2858c5c
description:
        garnet: rename and rearrange config parameters.

        Renamed (message) class to vnet for consistency with rest of ruby.
        Moved some parameters specific to fixed/flexible garnet networks into 
their
        corresponding py files.

diffstat:

 src/mem/ruby/network/garnet/BaseGarnetNetwork.cc                  |   5 +---
 src/mem/ruby/network/garnet/BaseGarnetNetwork.hh                  |  10 +------
 src/mem/ruby/network/garnet/BaseGarnetNetwork.py                  |   5 +---
 src/mem/ruby/network/garnet/fixed-pipeline/GarnetLink_d.py        |   4 +-
 src/mem/ruby/network/garnet/fixed-pipeline/GarnetNetwork_d.cc     |  13 
++++++---
 src/mem/ruby/network/garnet/fixed-pipeline/GarnetNetwork_d.hh     |  10 ++++++-
 src/mem/ruby/network/garnet/fixed-pipeline/GarnetNetwork_d.py     |   3 +-
 src/mem/ruby/network/garnet/fixed-pipeline/GarnetRouter_d.py      |   4 +-
 src/mem/ruby/network/garnet/fixed-pipeline/NetworkInterface_d.cc  |   2 +-
 src/mem/ruby/network/garnet/fixed-pipeline/NetworkLink_d.cc       |   4 +-
 src/mem/ruby/network/garnet/fixed-pipeline/Router_d.cc            |   2 +-
 src/mem/ruby/network/garnet/flexible-pipeline/GarnetLink.py       |   4 +-
 src/mem/ruby/network/garnet/flexible-pipeline/GarnetNetwork.cc    |  11 ++++---
 src/mem/ruby/network/garnet/flexible-pipeline/GarnetNetwork.hh    |   2 +
 src/mem/ruby/network/garnet/flexible-pipeline/GarnetNetwork.py    |   2 +-
 src/mem/ruby/network/garnet/flexible-pipeline/GarnetRouter.py     |   4 +-
 src/mem/ruby/network/garnet/flexible-pipeline/NetworkInterface.cc |   2 +-
 src/mem/ruby/network/garnet/flexible-pipeline/NetworkLink.cc      |   2 +-
 src/mem/ruby/network/garnet/flexible-pipeline/Router.cc           |   2 +-
 19 files changed, 46 insertions(+), 45 deletions(-)

diffs (truncated from 347 to 300 lines):

diff -r fb0e525008c5 -r 76f7c2858c5c 
src/mem/ruby/network/garnet/BaseGarnetNetwork.cc
--- a/src/mem/ruby/network/garnet/BaseGarnetNetwork.cc  Fri May 13 17:29:27 
2011 -0500
+++ b/src/mem/ruby/network/garnet/BaseGarnetNetwork.cc  Wed May 18 03:04:14 
2011 -0400
@@ -37,10 +37,7 @@
     : Network(p)
 {
     m_ni_flit_size = p->ni_flit_size;
-    m_number_of_pipe_stages = p->number_of_pipe_stages;
-    m_vcs_per_class = p->vcs_per_class;
-    m_buffers_per_data_vc = p->buffers_per_data_vc;
-    m_buffers_per_ctrl_vc = p->buffers_per_ctrl_vc;
+    m_vcs_per_vnet = p->vcs_per_vnet;
 
     m_ruby_start = 0;
     m_flits_received = 0;
diff -r fb0e525008c5 -r 76f7c2858c5c 
src/mem/ruby/network/garnet/BaseGarnetNetwork.hh
--- a/src/mem/ruby/network/garnet/BaseGarnetNetwork.hh  Fri May 13 17:29:27 
2011 -0500
+++ b/src/mem/ruby/network/garnet/BaseGarnetNetwork.hh  Wed May 18 03:04:14 
2011 -0400
@@ -49,17 +49,11 @@
 
     void init();
     int getNiFlitSize() {return m_ni_flit_size; }
-    int getNumPipeStages() {return m_number_of_pipe_stages; }
-    int getVCsPerClass() {return m_vcs_per_class; }
-    int getBuffersPerDataVC() {return m_buffers_per_data_vc; }
-    int getBuffersPerCtrlVC() {return m_buffers_per_ctrl_vc; }
+    int getVCsPerVnet() {return m_vcs_per_vnet; }
 
   protected:
     int m_ni_flit_size;
-    int m_number_of_pipe_stages;
-    int m_vcs_per_class;
-    int m_buffers_per_data_vc;
-    int m_buffers_per_ctrl_vc;
+    int m_vcs_per_vnet;
 
     int m_flits_received;
     int m_flits_injected;
diff -r fb0e525008c5 -r 76f7c2858c5c 
src/mem/ruby/network/garnet/BaseGarnetNetwork.py
--- a/src/mem/ruby/network/garnet/BaseGarnetNetwork.py  Fri May 13 17:29:27 
2011 -0500
+++ b/src/mem/ruby/network/garnet/BaseGarnetNetwork.py  Wed May 18 03:04:14 
2011 -0400
@@ -35,7 +35,4 @@
     type = 'BaseGarnetNetwork'
     abstract = True
     ni_flit_size = Param.Int(16, "network interface flit size in bytes")
-    number_of_pipe_stages = Param.Int(4, "router pipeline stages");
-    vcs_per_class = Param.Int(4, "virtual channels per message class");
-    buffers_per_data_vc = Param.Int(4, "buffers per data virtual channel");
-    buffers_per_ctrl_vc = Param.Int(1, "buffers per ctrl virtual channel");
+    vcs_per_vnet = Param.Int(4, "virtual channels per virtual network");
diff -r fb0e525008c5 -r 76f7c2858c5c 
src/mem/ruby/network/garnet/fixed-pipeline/GarnetLink_d.py
--- a/src/mem/ruby/network/garnet/fixed-pipeline/GarnetLink_d.py        Fri May 
13 17:29:27 2011 -0500
+++ b/src/mem/ruby/network/garnet/fixed-pipeline/GarnetLink_d.py        Wed May 
18 03:04:14 2011 -0400
@@ -37,8 +37,8 @@
     type = 'NetworkLink_d'
     link_id = Param.Int(Parent.link_id, "link id")
     link_latency = Param.Int(Parent.latency, "link latency")
-    vcs_per_class = Param.Int(Parent.vcs_per_class,
-                              "virtual channels per message class")
+    vcs_per_vnet = Param.Int(Parent.vcs_per_vnet,
+                              "virtual channels per virtual network")
     virt_nets = Param.Int(Parent.number_of_virtual_networks,
                           "number of virtual networks")
     channel_width = Param.Int(Parent.bandwidth_factor,
diff -r fb0e525008c5 -r 76f7c2858c5c 
src/mem/ruby/network/garnet/fixed-pipeline/GarnetNetwork_d.cc
--- a/src/mem/ruby/network/garnet/fixed-pipeline/GarnetNetwork_d.cc     Fri May 
13 17:29:27 2011 -0500
+++ b/src/mem/ruby/network/garnet/fixed-pipeline/GarnetNetwork_d.cc     Wed May 
18 03:04:14 2011 -0400
@@ -49,6 +49,9 @@
 GarnetNetwork_d::GarnetNetwork_d(const Params *p)
     : BaseGarnetNetwork(p)
 {
+    m_buffers_per_data_vc = p->buffers_per_data_vc;
+    m_buffers_per_ctrl_vc = p->buffers_per_ctrl_vc;
+
     // record the routers
     for (vector<BasicRouter*>::const_iterator i = 
              m_topology_ptr->params()->routers.begin();
@@ -254,9 +257,9 @@
 {
     double average_link_utilization = 0;
     vector<double> average_vc_load;
-    average_vc_load.resize(m_virtual_networks*m_vcs_per_class);
+    average_vc_load.resize(m_virtual_networks*m_vcs_per_vnet);
 
-    for (int i = 0; i < m_virtual_networks*m_vcs_per_class; i++)
+    for (int i = 0; i < m_virtual_networks*m_vcs_per_vnet; i++)
     {
         average_vc_load[i] = 0;
     }
@@ -272,7 +275,7 @@
 
         vector<int> vc_load = m_link_ptr_vector[i]->getVcLoad();
         for (int j = 0; j < vc_load.size(); j++) {
-            assert(vc_load.size() == m_vcs_per_class*m_virtual_networks);
+            assert(vc_load.size() == m_vcs_per_vnet*m_virtual_networks);
             average_vc_load[j] += vc_load[j];
         }
     }
@@ -282,8 +285,8 @@
         << " flits/cycle" << endl;
     out << "-------------" << endl;
 
-    for (int i = 0; i < m_vcs_per_class*m_virtual_networks; i++) {
-        if (!m_in_use[i/m_vcs_per_class])
+    for (int i = 0; i < m_vcs_per_vnet*m_virtual_networks; i++) {
+        if (!m_in_use[i/m_vcs_per_vnet])
             continue;
 
         average_vc_load[i] = (double(average_vc_load[i]) /
diff -r fb0e525008c5 -r 76f7c2858c5c 
src/mem/ruby/network/garnet/fixed-pipeline/GarnetNetwork_d.hh
--- a/src/mem/ruby/network/garnet/fixed-pipeline/GarnetNetwork_d.hh     Fri May 
13 17:29:27 2011 -0500
+++ b/src/mem/ruby/network/garnet/fixed-pipeline/GarnetNetwork_d.hh     Wed May 
18 03:04:14 2011 -0400
@@ -59,6 +59,9 @@
 
     int getNumNodes() { return m_nodes; }
 
+    int getBuffersPerDataVC() {return m_buffers_per_data_vc; }
+    int getBuffersPerCtrlVC() {return m_buffers_per_ctrl_vc; }
+
     // returns the queue requested for the given component
     MessageBuffer* getToNetQueue(NodeID id, bool ordered, int network_num);
     MessageBuffer* getFromNetQueue(NodeID id, bool ordered, int network_num);
@@ -71,14 +74,14 @@
     void
     set_vnet_type(int vc, VNET_type vnet_type)
     {
-        int vnet = vc/getVCsPerClass();
+        int vnet = vc/getVCsPerVnet();
         m_vnet_type[vnet] = vnet_type;
     }
 
     VNET_type
     get_vnet_type(int vc)
     {
-        int vnet = vc/getVCsPerClass();
+        int vnet = vc/getVCsPerVnet();
         return m_vnet_type[vnet];
     }
 
@@ -130,6 +133,9 @@
     std::vector<NetworkLink_d *> m_link_ptr_vector; // All links in the network
     std::vector<CreditLink_d *> m_creditlink_ptr_vector; // All links in net
     std::vector<NetworkInterface_d *> m_ni_ptr_vector;   // All NI's in Network
+
+    int m_buffers_per_data_vc;
+    int m_buffers_per_ctrl_vc;
 };
 
 inline std::ostream&
diff -r fb0e525008c5 -r 76f7c2858c5c 
src/mem/ruby/network/garnet/fixed-pipeline/GarnetNetwork_d.py
--- a/src/mem/ruby/network/garnet/fixed-pipeline/GarnetNetwork_d.py     Fri May 
13 17:29:27 2011 -0500
+++ b/src/mem/ruby/network/garnet/fixed-pipeline/GarnetNetwork_d.py     Wed May 
18 03:04:14 2011 -0400
@@ -33,4 +33,5 @@
 
 class GarnetNetwork_d(BaseGarnetNetwork):
     type = 'GarnetNetwork_d'
-
+    buffers_per_data_vc = Param.Int(4, "buffers per data virtual channel");
+    buffers_per_ctrl_vc = Param.Int(1, "buffers per ctrl virtual channel");
diff -r fb0e525008c5 -r 76f7c2858c5c 
src/mem/ruby/network/garnet/fixed-pipeline/GarnetRouter_d.py
--- a/src/mem/ruby/network/garnet/fixed-pipeline/GarnetRouter_d.py      Fri May 
13 17:29:27 2011 -0500
+++ b/src/mem/ruby/network/garnet/fixed-pipeline/GarnetRouter_d.py      Wed May 
18 03:04:14 2011 -0400
@@ -35,8 +35,8 @@
 class GarnetRouter_d(BasicRouter):
     type = 'GarnetRouter_d'
     cxx_class = 'Router_d'
-    vcs_per_class = Param.Int(Parent.vcs_per_class,
-                              "virtual channels per message class")
+    vcs_per_vnet = Param.Int(Parent.vcs_per_vnet,
+                              "virtual channels per virtual network")
     virt_nets = Param.Int(Parent.number_of_virtual_networks,
                           "number of virtual networks")
 
diff -r fb0e525008c5 -r 76f7c2858c5c 
src/mem/ruby/network/garnet/fixed-pipeline/NetworkInterface_d.cc
--- a/src/mem/ruby/network/garnet/fixed-pipeline/NetworkInterface_d.cc  Fri May 
13 17:29:27 2011 -0500
+++ b/src/mem/ruby/network/garnet/fixed-pipeline/NetworkInterface_d.cc  Wed May 
18 03:04:14 2011 -0400
@@ -47,7 +47,7 @@
     m_id = id;
     m_net_ptr = network_ptr;
     m_virtual_networks  = virtual_networks;
-    m_vc_per_vnet = m_net_ptr->getVCsPerClass();
+    m_vc_per_vnet = m_net_ptr->getVCsPerVnet();
     m_num_vcs = m_vc_per_vnet*m_virtual_networks;
 
     m_vc_round_robin = 0;
diff -r fb0e525008c5 -r 76f7c2858c5c 
src/mem/ruby/network/garnet/fixed-pipeline/NetworkLink_d.cc
--- a/src/mem/ruby/network/garnet/fixed-pipeline/NetworkLink_d.cc       Fri May 
13 17:29:27 2011 -0500
+++ b/src/mem/ruby/network/garnet/fixed-pipeline/NetworkLink_d.cc       Wed May 
18 03:04:14 2011 -0400
@@ -39,9 +39,9 @@
     m_id = p->link_id;
     linkBuffer = new flitBuffer_d();
     m_link_utilized = 0;
-    m_vc_load.resize(p->vcs_per_class * p->virt_nets);
+    m_vc_load.resize(p->vcs_per_vnet * p->virt_nets);
 
-    for (int i = 0; i < (p->vcs_per_class * p->virt_nets); i++) {
+    for (int i = 0; i < (p->vcs_per_vnet * p->virt_nets); i++) {
         m_vc_load[i] = 0;
     }
 }
diff -r fb0e525008c5 -r 76f7c2858c5c 
src/mem/ruby/network/garnet/fixed-pipeline/Router_d.cc
--- a/src/mem/ruby/network/garnet/fixed-pipeline/Router_d.cc    Fri May 13 
17:29:27 2011 -0500
+++ b/src/mem/ruby/network/garnet/fixed-pipeline/Router_d.cc    Wed May 18 
03:04:14 2011 -0400
@@ -47,7 +47,7 @@
     : BasicRouter(p)
 {
     m_virtual_networks = p->virt_nets;
-    m_vc_per_vnet = p->vcs_per_class;
+    m_vc_per_vnet = p->vcs_per_vnet;
     m_num_vcs = m_virtual_networks * m_vc_per_vnet;
 
     m_routing_unit = new RoutingUnit_d(this);
diff -r fb0e525008c5 -r 76f7c2858c5c 
src/mem/ruby/network/garnet/flexible-pipeline/GarnetLink.py
--- a/src/mem/ruby/network/garnet/flexible-pipeline/GarnetLink.py       Fri May 
13 17:29:27 2011 -0500
+++ b/src/mem/ruby/network/garnet/flexible-pipeline/GarnetLink.py       Wed May 
18 03:04:14 2011 -0400
@@ -37,8 +37,8 @@
     type = 'NetworkLink'
     link_id = Param.Int(Parent.link_id, "link id")
     link_latency = Param.Int(Parent.latency, "link latency")
-    vcs_per_class = Param.Int(Parent.vcs_per_class,
-                              "virtual channels per message class")
+    vcs_per_vnet = Param.Int(Parent.vcs_per_vnet,
+                              "virtual channels per virtual network")
     virt_nets = Param.Int(Parent.number_of_virtual_networks,
                           "number of virtual networks")
     channel_width = Param.Int(Parent.bandwidth_factor,
diff -r fb0e525008c5 -r 76f7c2858c5c 
src/mem/ruby/network/garnet/flexible-pipeline/GarnetNetwork.cc
--- a/src/mem/ruby/network/garnet/flexible-pipeline/GarnetNetwork.cc    Fri May 
13 17:29:27 2011 -0500
+++ b/src/mem/ruby/network/garnet/flexible-pipeline/GarnetNetwork.cc    Wed May 
18 03:04:14 2011 -0400
@@ -49,6 +49,7 @@
     : BaseGarnetNetwork(p)
 {
     m_buffer_size = p->buffer_size;
+    m_number_of_pipe_stages = p->number_of_pipe_stages;
 
     // record the routers
     for (vector<BasicRouter*>::const_iterator i = 
@@ -221,9 +222,9 @@
 {
     double average_link_utilization = 0;
     vector<double> average_vc_load;
-    average_vc_load.resize(m_virtual_networks*m_vcs_per_class);
+    average_vc_load.resize(m_virtual_networks*m_vcs_per_vnet);
 
-    for (int i = 0; i < m_virtual_networks*m_vcs_per_class; i++) {
+    for (int i = 0; i < m_virtual_networks*m_vcs_per_vnet; i++) {
         average_vc_load[i] = 0;
     }
 
@@ -236,7 +237,7 @@
             m_link_ptr_vector[i]->getLinkUtilization();
         vector<int> vc_load = m_link_ptr_vector[i]->getVcLoad();
         for (int j = 0; j < vc_load.size(); j++) {
-            assert(vc_load.size() == m_vcs_per_class*m_virtual_networks);
+            assert(vc_load.size() == m_vcs_per_vnet*m_virtual_networks);
             average_vc_load[j] += vc_load[j];
         }
     }
@@ -246,8 +247,8 @@
            " flits/cycle" <<endl;
     out << "-------------" << endl;
 
-    for (int i = 0; i < m_vcs_per_class*m_virtual_networks; i++) {
-        if (!m_in_use[i/m_vcs_per_class])
+    for (int i = 0; i < m_vcs_per_vnet*m_virtual_networks; i++) {
+        if (!m_in_use[i/m_vcs_per_vnet])
             continue;
 
         average_vc_load[i] = (double(average_vc_load[i]) /
diff -r fb0e525008c5 -r 76f7c2858c5c 
src/mem/ruby/network/garnet/flexible-pipeline/GarnetNetwork.hh
--- a/src/mem/ruby/network/garnet/flexible-pipeline/GarnetNetwork.hh    Fri May 
13 17:29:27 2011 -0500
+++ b/src/mem/ruby/network/garnet/flexible-pipeline/GarnetNetwork.hh    Wed May 
18 03:04:14 2011 -0400
@@ -57,6 +57,7 @@
     void init();
 
     int getBufferSize() { return m_buffer_size; }
+    int getNumPipeStages() {return m_number_of_pipe_stages; }
 
     // returns the queue requested for the given component
     MessageBuffer* getToNetQueue(NodeID id, bool ordered, int network_num);
@@ -115,6 +116,7 @@
     std::vector<NetworkInterface *> m_ni_ptr_vector; // All NI's in Network
 
     int m_buffer_size;
+    int m_number_of_pipe_stages;
 };
 
 inline std::ostream&
diff -r fb0e525008c5 -r 76f7c2858c5c 
src/mem/ruby/network/garnet/flexible-pipeline/GarnetNetwork.py
--- a/src/mem/ruby/network/garnet/flexible-pipeline/GarnetNetwork.py    Fri May 
13 17:29:27 2011 -0500
+++ b/src/mem/ruby/network/garnet/flexible-pipeline/GarnetNetwork.py    Wed May 
18 03:04:14 2011 -0400
@@ -35,4 +35,4 @@
     type = 'GarnetNetwork'
     buffer_size = Param.Int(0,
         "default buffer size; 0 indicates infinite buffering");
-
+    number_of_pipe_stages = Param.Int(4, "router pipeline stages");
diff -r fb0e525008c5 -r 76f7c2858c5c 
src/mem/ruby/network/garnet/flexible-pipeline/GarnetRouter.py
--- a/src/mem/ruby/network/garnet/flexible-pipeline/GarnetRouter.py     Fri May 
13 17:29:27 2011 -0500
+++ b/src/mem/ruby/network/garnet/flexible-pipeline/GarnetRouter.py     Wed May 
18 03:04:14 2011 -0400
_______________________________________________
gem5-dev mailing list
gem5-dev@m5sim.org
http://m5sim.org/mailman/listinfo/gem5-dev

Reply via email to