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