diff options
author | Nilay Vaish <nilay@cs.wisc.edu> | 2014-10-11 16:16:00 -0500 |
---|---|---|
committer | Nilay Vaish <nilay@cs.wisc.edu> | 2014-10-11 16:16:00 -0500 |
commit | c1aecc05e6cad977423a15905f6bd4f5f33b53c8 (patch) | |
tree | b013259fe0a6ec5e4fca8c47f757b50e92871f4d /ext/dsent/DSENT.h | |
parent | e8ed7b1d1b5bef31e9874f679a5797c2e00d06f1 (diff) | |
download | gem5-c1aecc05e6cad977423a15905f6bd4f5f33b53c8.tar.xz |
ext: dsent: adds a Python interface, drops C++ one
This patch extensively modifies DSENT so that it can be accessed using Python.
To access the Python interface, DSENT needs to compiled as a shared library.
For this purpose a CMakeLists.txt file has been added. Some of the code that
is not required is being removed.
Diffstat (limited to 'ext/dsent/DSENT.h')
-rw-r--r-- | ext/dsent/DSENT.h | 71 |
1 files changed, 38 insertions, 33 deletions
diff --git a/ext/dsent/DSENT.h b/ext/dsent/DSENT.h index 42abb98e1..5012256d7 100644 --- a/ext/dsent/DSENT.h +++ b/ext/dsent/DSENT.h @@ -1,11 +1,33 @@ +/* Copyright (c) 2012 Massachusetts Institute of Technology + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in + * all copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN + * THE SOFTWARE. + */ + #ifndef __DSENT_DSENT_H__ #define __DSENT_DSENT_H__ +#include <map> +#include <string> + // For DSENT operations -#include "libutil/OptionParser.h" #include "libutil/Calculator.h" #include "util/CommonType.h" -#include "util/Config.h" #include "util/Result.h" #include "model/Model.h" #include "model/ModelGen.h" @@ -19,46 +41,29 @@ namespace DSENT { - using LibUtil::OptionParser; using LibUtil::Calculator; - class DSENT + class DSENTCalculator : public Calculator { - protected: - class DSENTCalculator : public Calculator - { - public: - DSENTCalculator(); - virtual ~DSENTCalculator(); - - protected: - virtual double getEnvVar(const String& var_name_) const; - }; // class DSENTCalculator - public: - static void run(int argc_, char** argv_); + DSENTCalculator(); + virtual ~DSENTCalculator(); protected: - static void setRuntimeOptions(OptionParser* option_parser_); - static void initialize(int argc_, char** argv_); - static void buildModel(); - static void processQuery(); - static const void* processQuery(const String& query_str_, bool is_print_); - static void finalize(); + virtual double getEnvVar( + const String& var_name_, + const std::map<String, String> &Config, + Model *ms_model) const; + }; - static void performTimingOpt(); - static void reportTiming(); + Model *initialize(const char *config_file_name, + std::map<String, String> &config); - static void processEvaluate(); - - protected: - static Model* ms_model_; - - static bool ms_is_verbose_; - - }; // class DSENT + void finalize(std::map<String, String> &config, + Model *ms_model); + void run(const std::map<String, String> &config, Model *ms_model, + std::map<std::string, double> &outputs); } // namespace DSENT #endif // __DSENT_DSENT_H__ - |