changeset bbe7f8bd41ae in /z/repo/gem5
details: http://repo.gem5.org/gem5?cmd=changeset;node=bbe7f8bd41ae
description:
        ruby: drop Orion network power model

        Orion is being dropped from ruby.  It would be replaced with DSENT
        which has better models.  Note that the power / energy numbers reported
        after this patch has been applied are not for use.

diffstat:

 src/mem/ruby/network/garnet/fixed-pipeline/InputUnit_d.hh   |     3 +-
 src/mem/ruby/network/garnet/fixed-pipeline/NetworkLink_d.hh |     3 +-
 src/mem/ruby/network/garnet/fixed-pipeline/OutputUnit_d.hh  |     3 +-
 src/mem/ruby/network/garnet/fixed-pipeline/Router_d.hh      |     7 +-
 src/mem/ruby/network/orion/Allocator/Arbiter.cc             |    93 -
 src/mem/ruby/network/orion/Allocator/Arbiter.hh             |    87 -
 src/mem/ruby/network/orion/Allocator/MatrixArbiter.cc       |   251 -
 src/mem/ruby/network/orion/Allocator/MatrixArbiter.hh       |    70 -
 src/mem/ruby/network/orion/Allocator/RRArbiter.cc           |   238 -
 src/mem/ruby/network/orion/Allocator/RRArbiter.hh           |    72 -
 src/mem/ruby/network/orion/Allocator/SConscript             |    38 -
 src/mem/ruby/network/orion/Allocator/SWAllocator.cc         |   175 -
 src/mem/ruby/network/orion/Allocator/SWAllocator.hh         |    95 -
 src/mem/ruby/network/orion/Allocator/VCAllocator.cc         |   302 --
 src/mem/ruby/network/orion/Allocator/VCAllocator.hh         |   123 -
 src/mem/ruby/network/orion/Buffer/AmpUnit.cc                |    72 -
 src/mem/ruby/network/orion/Buffer/AmpUnit.hh                |    73 -
 src/mem/ruby/network/orion/Buffer/BitlineUnit.cc            |   200 -
 src/mem/ruby/network/orion/Buffer/BitlineUnit.hh            |    93 -
 src/mem/ruby/network/orion/Buffer/Buffer.cc                 |   187 -
 src/mem/ruby/network/orion/Buffer/Buffer.hh                 |    96 -
 src/mem/ruby/network/orion/Buffer/DecoderUnit.cc            |   171 -
 src/mem/ruby/network/orion/Buffer/DecoderUnit.hh            |    88 -
 src/mem/ruby/network/orion/Buffer/MemUnit.cc                |   132 -
 src/mem/ruby/network/orion/Buffer/MemUnit.hh                |    80 -
 src/mem/ruby/network/orion/Buffer/OutdrvUnit.cc             |   176 -
 src/mem/ruby/network/orion/Buffer/OutdrvUnit.hh             |    89 -
 src/mem/ruby/network/orion/Buffer/PrechargeUnit.cc          |   137 -
 src/mem/ruby/network/orion/Buffer/PrechargeUnit.hh          |    90 -
 src/mem/ruby/network/orion/Buffer/Register.cc               |   113 -
 src/mem/ruby/network/orion/Buffer/Register.hh               |    73 -
 src/mem/ruby/network/orion/Buffer/SConscript                |    43 -
 src/mem/ruby/network/orion/Buffer/SRAM.cc                   |   271 --
 src/mem/ruby/network/orion/Buffer/SRAM.hh                   |   120 -
 src/mem/ruby/network/orion/Buffer/WordlineUnit.cc           |   151 -
 src/mem/ruby/network/orion/Buffer/WordlineUnit.hh           |    87 -
 src/mem/ruby/network/orion/Clock.cc                         |   176 -
 src/mem/ruby/network/orion/Clock.hh                         |    77 -
 src/mem/ruby/network/orion/ConfigFile.cc                    |   170 -
 src/mem/ruby/network/orion/ConfigFile.hh                    |   252 -
 src/mem/ruby/network/orion/Crossbar/Crossbar.cc             |   393 --
 src/mem/ruby/network/orion/Crossbar/Crossbar.hh             |   130 -
 src/mem/ruby/network/orion/Crossbar/MatrixCrossbar.cc       |   152 -
 src/mem/ruby/network/orion/Crossbar/MatrixCrossbar.hh       |    73 -
 src/mem/ruby/network/orion/Crossbar/MultreeCrossbar.cc      |   162 -
 src/mem/ruby/network/orion/Crossbar/MultreeCrossbar.hh      |    69 -
 src/mem/ruby/network/orion/Crossbar/SConscript              |    36 -
 src/mem/ruby/network/orion/FlipFlop.cc                      |   138 -
 src/mem/ruby/network/orion/FlipFlop.hh                      |    87 -
 src/mem/ruby/network/orion/NetworkPower.cc                  |   251 -
 src/mem/ruby/network/orion/NetworkPower.hh                  |    47 -
 src/mem/ruby/network/orion/OrionConfig.cc                   |   201 -
 src/mem/ruby/network/orion/OrionConfig.hh                   |   157 -
 src/mem/ruby/network/orion/OrionLink.cc                     |    98 -
 src/mem/ruby/network/orion/OrionLink.hh                     |    72 -
 src/mem/ruby/network/orion/OrionRouter.cc                   |   497 ---
 src/mem/ruby/network/orion/OrionRouter.hh                   |   119 -
 src/mem/ruby/network/orion/SConscript                       |    41 -
 src/mem/ruby/network/orion/TechParameter.cc                 |  1476 -----------
 src/mem/ruby/network/orion/TechParameter.hh                 |   412 ---
 src/mem/ruby/network/orion/Type.hh                          |    45 -
 src/mem/ruby/network/orion/Wire.cc                          |   391 --
 src/mem/ruby/network/orion/Wire.hh                          |    92 -
 src/mem/ruby/network/orion/orion.hh                         |    39 -
 src/mem/ruby/network/orion/router.cfg                       |   146 -
 65 files changed, 6 insertions(+), 10095 deletions(-)

diffs (truncated from 10410 to 300 lines):

diff -r 36afc9dc6f7e -r bbe7f8bd41ae 
src/mem/ruby/network/garnet/fixed-pipeline/InputUnit_d.hh
--- a/src/mem/ruby/network/garnet/fixed-pipeline/InputUnit_d.hh Sat Oct 11 
15:02:23 2014 -0500
+++ b/src/mem/ruby/network/garnet/fixed-pipeline/InputUnit_d.hh Sat Oct 11 
15:02:23 2014 -0500
@@ -37,12 +37,11 @@
 #include "mem/ruby/common/Consumer.hh"
 #include "mem/ruby/network/garnet/fixed-pipeline/CreditLink_d.hh"
 #include "mem/ruby/network/garnet/fixed-pipeline/NetworkLink_d.hh"
+#include "mem/ruby/network/garnet/fixed-pipeline/Router_d.hh"
 #include "mem/ruby/network/garnet/fixed-pipeline/VirtualChannel_d.hh"
 #include "mem/ruby/network/garnet/fixed-pipeline/flitBuffer_d.hh"
 #include "mem/ruby/network/garnet/NetworkHeader.hh"
 
-class Router_d;
-
 class InputUnit_d : public Consumer
 {
   public:
diff -r 36afc9dc6f7e -r bbe7f8bd41ae 
src/mem/ruby/network/garnet/fixed-pipeline/NetworkLink_d.hh
--- a/src/mem/ruby/network/garnet/fixed-pipeline/NetworkLink_d.hh       Sat Oct 
11 15:02:23 2014 -0500
+++ b/src/mem/ruby/network/garnet/fixed-pipeline/NetworkLink_d.hh       Sat Oct 
11 15:02:23 2014 -0500
@@ -37,7 +37,6 @@
 #include "mem/ruby/common/Consumer.hh"
 #include "mem/ruby/network/garnet/fixed-pipeline/flitBuffer_d.hh"
 #include "mem/ruby/network/garnet/NetworkHeader.hh"
-#include "mem/ruby/network/orion/NetworkPower.hh"
 #include "params/NetworkLink_d.hh"
 #include "sim/clocked_object.hh"
 
@@ -56,7 +55,7 @@
     int get_id(){return m_id;}
     void wakeup();
 
-    void calculate_power(double);
+    void calculate_power(double) {}
     double get_dynamic_power() const { return m_power_dyn; }
     double get_static_power()const { return m_power_sta; }
 
diff -r 36afc9dc6f7e -r bbe7f8bd41ae 
src/mem/ruby/network/garnet/fixed-pipeline/OutputUnit_d.hh
--- a/src/mem/ruby/network/garnet/fixed-pipeline/OutputUnit_d.hh        Sat Oct 
11 15:02:23 2014 -0500
+++ b/src/mem/ruby/network/garnet/fixed-pipeline/OutputUnit_d.hh        Sat Oct 
11 15:02:23 2014 -0500
@@ -38,11 +38,10 @@
 #include "mem/ruby/network/garnet/fixed-pipeline/CreditLink_d.hh"
 #include "mem/ruby/network/garnet/fixed-pipeline/NetworkLink_d.hh"
 #include "mem/ruby/network/garnet/fixed-pipeline/OutVcState_d.hh"
+#include "mem/ruby/network/garnet/fixed-pipeline/Router_d.hh"
 #include "mem/ruby/network/garnet/fixed-pipeline/flitBuffer_d.hh"
 #include "mem/ruby/network/garnet/NetworkHeader.hh"
 
-class Router_d;
-
 class OutputUnit_d : public Consumer
 {
   public:
diff -r 36afc9dc6f7e -r bbe7f8bd41ae 
src/mem/ruby/network/garnet/fixed-pipeline/Router_d.hh
--- a/src/mem/ruby/network/garnet/fixed-pipeline/Router_d.hh    Sat Oct 11 
15:02:23 2014 -0500
+++ b/src/mem/ruby/network/garnet/fixed-pipeline/Router_d.hh    Sat Oct 11 
15:02:23 2014 -0500
@@ -35,13 +35,12 @@
 #include <vector>
 
 #include "mem/ruby/common/NetDest.hh"
-#include "mem/ruby/network/BasicRouter.hh"
+#include "mem/ruby/network/garnet/fixed-pipeline/GarnetNetwork_d.hh"
 #include "mem/ruby/network/garnet/fixed-pipeline/flit_d.hh"
 #include "mem/ruby/network/garnet/NetworkHeader.hh"
-#include "mem/ruby/network/orion/NetworkPower.hh"
+#include "mem/ruby/network/BasicRouter.hh"
 #include "params/GarnetRouter_d.hh"
 
-class GarnetNetwork_d;
 class NetworkLink_d;
 class CreditLink_d;
 class InputUnit_d;
@@ -89,7 +88,7 @@
     void printFaultVector(std::ostream& out);
     void printAggregateFaultProbability(std::ostream& out);
 
-    void calculate_power();
+    void calculate_power() {}
     void calculate_performance_numbers();
     double get_dynamic_power() const { return m_power_dyn; }
     double get_static_power() const { return m_power_sta; }
diff -r 36afc9dc6f7e -r bbe7f8bd41ae 
src/mem/ruby/network/orion/Allocator/Arbiter.cc
--- a/src/mem/ruby/network/orion/Allocator/Arbiter.cc   Sat Oct 11 15:02:23 
2014 -0500
+++ /dev/null   Thu Jan 01 00:00:00 1970 +0000
@@ -1,93 +0,0 @@
-/*
- * Copyright (c) 2009 Princeton University
- * Copyright (c) 2009 The Regents of the University of California
- * All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions are
- * met: redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer;
- * redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in the
- * documentation and/or other materials provided with the distribution;
- * neither the name of the copyright holders nor the names of its
- * contributors may be used to endorse or promote products derived from
- * this software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
- * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
- * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
- * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
- * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- *
- * Authors:  Hangsheng Wang (Orion 1.0, Princeton)
- *           Xinping Zhu (Orion 1.0, Princeton)
- *           Xuning Chen (Orion 1.0, Princeton)
- *           Bin Li (Orion 2.0, Princeton)
- *           Kambiz Samadi (Orion 2.0, UC San Diego)
- */
-
-#include <cassert>
-#include <iostream>
-
-#include "mem/ruby/network/orion/Allocator/Arbiter.hh"
-#include "mem/ruby/network/orion/Allocator/MatrixArbiter.hh"
-#include "mem/ruby/network/orion/Allocator/RRArbiter.hh"
-#include "mem/ruby/network/orion/TechParameter.hh"
-
-using namespace std;
-
-Arbiter::Arbiter(const ArbiterModel arb_model_,
-                 const uint32_t req_width_,
-                 const double len_in_wire_,
-                 const TechParameter* tech_param_ptr_)
-{
-    assert(req_width_ == req_width_);
-    assert(len_in_wire_ == len_in_wire_);
-
-    m_arb_model = arb_model_;
-    m_req_width = req_width_;
-    m_len_in_wire = len_in_wire_;
-    m_tech_param_ptr = tech_param_ptr_;
-}
-
-Arbiter::~Arbiter()
-{}
-
-double 
-Arbiter::get_static_power() const
-{
-    double vdd = m_tech_param_ptr->get_vdd();
-    double SCALE_S = m_tech_param_ptr->get_SCALE_S();
-
-    return m_i_static*vdd*SCALE_S;
-}
-
-Arbiter* 
-Arbiter::create_arbiter(const string& arb_model_str_, 
-                        const string& ff_model_str_,
-                        uint32_t req_width_, 
-                        double len_in_wire_, 
-                        const TechParameter* tech_param_ptr_)
-{
-    if (arb_model_str_ == string("RR_ARBITER")) {
-
-        return new RRArbiter(ff_model_str_, req_width_, 
-                             len_in_wire_, tech_param_ptr_);
-
-    } else if (arb_model_str_ == string("MATRIX_ARBITER")) {
-
-        return new MatrixArbiter(ff_model_str_, req_width_, 
-                                 len_in_wire_, tech_param_ptr_);
-
-    } else {
-        cerr << "WARNING: No Arbiter model" << endl;
-        return (Arbiter*)NULL;
-    }
-}
diff -r 36afc9dc6f7e -r bbe7f8bd41ae 
src/mem/ruby/network/orion/Allocator/Arbiter.hh
--- a/src/mem/ruby/network/orion/Allocator/Arbiter.hh   Sat Oct 11 15:02:23 
2014 -0500
+++ /dev/null   Thu Jan 01 00:00:00 1970 +0000
@@ -1,87 +0,0 @@
-/*
- * Copyright (c) 2009 Princeton University
- * Copyright (c) 2009 The Regents of the University of California
- * All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions are
- * met: redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer;
- * redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in the
- * documentation and/or other materials provided with the distribution;
- * neither the name of the copyright holders nor the names of its
- * contributors may be used to endorse or promote products derived from
- * this software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
- * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
- * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
- * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
- * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- *
- * Authors:  Hangsheng Wang (Orion 1.0, Princeton)
- *           Xinping Zhu (Orion 1.0, Princeton)
- *           Xuning Chen (Orion 1.0, Princeton)
- *           Bin Li (Orion 2.0, Princeton)
- *           Kambiz Samadi (Orion 2.0, UC San Diego)
- */
-
-#ifndef __ARBITER_H__
-#define __ARBITER_H__
-
-#include "mem/ruby/network/orion/Type.hh"
-
-class TechParameter;
-class FlipFlop;
-
-class Arbiter
-{
-  public:
-    enum ArbiterModel
-    {
-      NO_MODEL = 0,
-      RR_ARBITER,
-      MATRIX_ARBITER
-    };
-
-  public:
-    Arbiter(const ArbiterModel arb_model_,
-            const uint32_t req_width_,
-            const double len_in_wire_,
-            const TechParameter* tech_param_ptr_);
-    virtual ~Arbiter() = 0;
-
-  public:
-    virtual double calc_dynamic_energy(double num_req_, bool is_max_) const = 
0;
-    double get_static_power() const;
-
-  protected:
-    ArbiterModel m_arb_model;
-    uint32_t m_req_width;
-    double m_len_in_wire;
-    const TechParameter* m_tech_param_ptr;
-
-    FlipFlop* m_ff_ptr;
-
-    double m_e_chg_req;
-    double m_e_chg_grant;
-
-    double m_i_static;
-
-  public:
-    static Arbiter* create_arbiter(const string& arb_model_str_,
-                                   const string& ff_model_str_,
-                                   uint32_t req_width_,
-                                   double len_in_wire_,
-                                   const TechParameter* tech_param_ptr_);
-};
-
-#endif
-
diff -r 36afc9dc6f7e -r bbe7f8bd41ae 
src/mem/ruby/network/orion/Allocator/MatrixArbiter.cc
--- a/src/mem/ruby/network/orion/Allocator/MatrixArbiter.cc     Sat Oct 11 
15:02:23 2014 -0500
+++ /dev/null   Thu Jan 01 00:00:00 1970 +0000
@@ -1,251 +0,0 @@
-/*
- * Copyright (c) 2009 Princeton University
- * Copyright (c) 2009 The Regents of the University of California
- * All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions are
- * met: redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer;
- * redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in the
- * documentation and/or other materials provided with the distribution;
- * neither the name of the copyright holders nor the names of its
- * contributors may be used to endorse or promote products derived from
- * this software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
- * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
- * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
- * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
- * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
_______________________________________________
gem5-dev mailing list
[email protected]
http://m5sim.org/mailman/listinfo/gem5-dev

Reply via email to