OpenASIP  2.0
Private Member Functions | Private Attributes | Static Private Attributes | List of all members
FrequencySweepExplorer Class Reference
Inheritance diagram for FrequencySweepExplorer:
Inheritance graph
Collaboration diagram for FrequencySweepExplorer:
Collaboration graph

Private Member Functions

 PLUGIN_DESCRIPTION ("Frequency sweep algorithm.")
 
 FrequencySweepExplorer ()
 
virtual bool requiresStartingPointArchitecture () const
 
virtual bool producesArchitecture () const
 
virtual bool requiresHDB () const
 
virtual bool requiresSimulationData () const
 
virtual std::vector< RowIDexplore (const RowID &startPointConfigurationID, const unsigned int &)
 
void readParameters ()
 
void openHDBs ()
 
bool fastEnough (const RowID &id, const int &freq, DSDBManager &dsdb)
 
DSDBManager::MachineConfiguration callPlugin (DesignSpaceExplorerPlugin *plugin, const RowID &arch, DSDBManager &dsdb)
 

Private Attributes

ComponentImplementationSelector selector_
 Selector used by the plugin. More...
 
unsigned int startMHz_
 
unsigned int endMHz_
 
unsigned int stepMHz_
 
std::string icDec_
 name of the ic decoder plugin for idf More...
 
std::string icDecHDB_
 name of the hdb used by ic decoder More...
 
unsigned int superiority_
 Superirity percentage for the GrowMachine plugin. More...
 

Static Private Attributes

static const int busCountDefault_ = 4
 Default value of busCount_. More...
 
static const unsigned int immSlotBusIndexDefault_ = 0
 
static const int registerFileSizeDefault_ = 4
 
static const int maxNumberOfRegisterFilesDefault_ = 16
 
static const int rfReadPortsDefault_ = 1
 
static const int rfWritePortsDefault_ = 1
 
const static std::string startMHzPN_
 
const static std::string endMHzPN_
 
const static std::string stepMHzPN_
 
const static std::string icDecPN_
 
const static std::string icDecHDBPN_
 
const static std::string superiorityPN_
 
static const std::string talo
 

Additional Inherited Members

- Public Types inherited from DesignSpaceExplorerPlugin
typedef std::pair< std::string, ExplorerPluginParameterParameter
 
typedef std::map< std::string, ExplorerPluginParameterParameterMap
 
typedef std::map< std::string, ExplorerPluginParameter >::iterator PMIt
 
typedef std::map< std::string, ExplorerPluginParameter >::const_iterator PMCIt
 
- Public Member Functions inherited from DesignSpaceExplorerPlugin
virtual bool requiresApplication () const
 
virtual std::string description () const
 
void addParameter (TCEString name, ExplorerPluginParameterType type, bool compulsory=true, TCEString defaultValue="", TCEString description="")
 
template<typename T >
void readCompulsoryParameter (const std::string paramName, T &param) const
 
template<typename T >
void readOptionalParameter (const std::string paramName, T &param) const
 
template<typename RT >
RT parameterValue (const std::string &paramName) const
 
virtual ~DesignSpaceExplorerPlugin ()
 
virtual void giveParameter (const std::string &name, const std::string &value)
 
virtual std::string name () const
 
virtual void setPluginName (const std::string &pluginName)
 
virtual bool hasParameter (const std::string &paramName) const
 
ParameterMap parameters () const
 
virtual bool booleanValue (const std::string &parameter) const
 
- Public Member Functions inherited from DesignSpaceExplorer
 DesignSpaceExplorer ()
 
virtual ~DesignSpaceExplorer ()
 
virtual void setDSDB (DSDBManager &dsdb)
 
virtual bool evaluate (const DSDBManager::MachineConfiguration &configuration, CostEstimates &results=dummyEstimate_, bool estimate=false)
 
virtual DSDBManagerdb ()
 
std::vector< DesignSpaceExplorerPlugin * > getPlugins ()
 
RowID createImplementationAndStore (const DSDBManager::MachineConfiguration &conf, const double &frequency=0.0, const double &maxArea=0.0, const bool &createEstimates=true, const std::string &icDec="DefaultICDecoder", const std::string &icDecHDB="asic_130nm_1.5V.hdb")
 
bool createImplementation (const DSDBManager::MachineConfiguration &conf, DSDBManager::MachineConfiguration &newConf, const double &frequency=0.0, const double &maxArea=0.0, const bool &createEstimates=true, const std::string &icDec="DefaultICDecoder", const std::string &icDecHDB="asic_130nm_1.5V.hdb")
 
IDF::MachineImplementationselectComponents (const TTAMachine::Machine &mach, const double &frequency=0.0, const double &maxArea=0.0, const std::string &icDec="DefaultICDecoder", const std::string &icDecHDB="asic_130nm_1.5V.hdb") const
 
void createEstimateData (const TTAMachine::Machine &mach, const IDF::MachineImplementation &idf, CostEstimator::AreaInGates &area, CostEstimator::DelayInNanoSeconds &longestPathDelay)
 
RowID addConfToDSDB (const DSDBManager::MachineConfiguration &conf)
 
- Static Public Member Functions inherited from DesignSpaceExplorer
static DesignSpaceExplorerPluginloadExplorerPlugin (const std::string &pluginName, DSDBManager *dsdb=NULL)
 
- Protected Member Functions inherited from DesignSpaceExplorerPlugin
 DesignSpaceExplorerPlugin ()
 
void checkParameters () const
 
- Protected Member Functions inherited from DesignSpaceExplorer
TTAProgram::Programschedule (const std::string applicationFile, TTAMachine::Machine &machine, TCEString paramOptions="-O3")
 
const ExecutionTracesimulate (const TTAProgram::Program &program, const TTAMachine::Machine &machine, const TestApplication &testApplication, const ClockCycleCount &maxCycles, ClockCycleCount &runnedCycles, const bool tracing, const bool useCompiledSimulation=false, std::vector< ClockCycleCount > *executionCounts=NULL)
 
- Protected Attributes inherited from DesignSpaceExplorerPlugin
std::string pluginName_
 the name of the explorer plugin More...
 
ParameterMap parameters_
 Parameters for the plugin. More...
 

Detailed Description

Explorer plugin for finding processor configurations that satisfy the runtime requirements with certain clock frequencies.

Sweeps the user-set allowed frequency range with the given steps and collects all configurations that are suitable for running the given applications in the given clock frequencies.

Uses all HDBs found in the HDB registry to create the configurations.

Supported parameters:

Definition at line 102 of file FrequencySweepExplorer.cc.

Constructor & Destructor Documentation

◆ FrequencySweepExplorer()

FrequencySweepExplorer::FrequencySweepExplorer ( )
inlineprivate

Definition at line 105 of file FrequencySweepExplorer.cc.

106  icDec_("DefaultICDecoder"),
107  icDecHDB_("asic_130nm_1.5V.hdb"),
108  superiority_(10) {
109 
110  // compulsory parameters
114 
115  // parameters that have a default value
120  }

References STRING, Conversion::toString(), and UINT.

Here is the call graph for this function:

Member Function Documentation

◆ callPlugin()

DSDBManager::MachineConfiguration FrequencySweepExplorer::callPlugin ( DesignSpaceExplorerPlugin plugin,
const RowID arch,
DSDBManager dsdb 
)
inlineprivate

Calls an explorer plugin.

Parameters
pluginThe plugin to be called.
archRow id of the architechture to be passed to the plugin.
Returns
dsdb Design space database to be used.

Definition at line 393 of file FrequencySweepExplorer.cc.

396  {
397 
398  vector<RowID> resultConfs = plugin->explore(arch);
399 
401  if (resultConfs.size() == 1) {
402  resultConf = dsdb.configuration(resultConfs.at(0));
403  } else {
404  throw InvalidData(
405  __FILE__, __LINE__, __func__,
406  (boost::format(
407  "%s failed to optimize "
408  "configuration %d. Possible bug in Optimizer,"
409  " Estimator or missing data from HDB."
410  ) % arch % plugin->name()).str());
411  }
412 
413  if (Application::verboseLevel() > 2) {
414  std::ostringstream msg(std::ostringstream::out);
415  msg << plugin->name()
416  << " plugin produced config: "
417  << resultConfs.at(0) << endl;
418  verboseLog(msg.str())
419  }
420 
421  return resultConf;
422  }

References __func__, DSDBManager::configuration(), DesignSpaceExplorerPlugin::explore(), DesignSpaceExplorerPlugin::name(), Application::verboseLevel(), and verboseLog.

Here is the call graph for this function:

◆ explore()

virtual std::vector<RowID> FrequencySweepExplorer::explore ( const RowID startPointConfigurationID,
const unsigned int &   
)
inlineprivatevirtual

Explores from the given start configuration.

Parameters
startPointConfigurationIDConfiguration ID to start the exploration from.
Returns
Returns a set of best found configuration IDs.
Todo:
Optimization of the instruction size not required for 1st version!
Todo:
Final optimization/tuning not required for 1st version!

Reimplemented from DesignSpaceExplorerPlugin.

Definition at line 136 of file FrequencySweepExplorer.cc.

136  {
137 
138  checkParameters();
139  readParameters();
140 
141  openHDBs();
142  std::vector<RowID> result;
143 
144  RowID startPointConfID = startPointConfigurationID;
145 
146  // other explorer plugins used
147  DesignSpaceExplorerPlugin* icOptimizer =
149  "SimpleICOptimizer", &db());
150  DesignSpaceExplorerPlugin* minimizeMachine =
152  "MinimizeMachine", &db());
153  DesignSpaceExplorerPlugin* growMachine =
155  "GrowMachine", &db());
156 
157  DSDBManager& dsdb = db();
158 
159  // Sweep is always done from the lowest frequency towards the highest
160  // frequency.
161  if (startMHz_ > endMHz_) {
162  int tempMHz = startMHz_;
163  startMHz_ = endMHz_;
164  endMHz_ = tempMHz;
165  }
166 
167  // helper for returning the stepped frequencies in order
169 
170  // parameters for GrowMachine plugin
171  growMachine->giveParameter("superiority", Conversion::toString(superiority_));
172 
173  // find new configurations by adding components until the cycle
174  // count stops going down
175  vector<RowID> cycleOptimizedConfs =
176  growMachine->explore(startPointConfID);
177  if (Application::verboseLevel() > 1) {
178  std::ostringstream msg(std::ostringstream::out);
179  msg << "GrowMachine plugin produced initial configs: ";
180  for (unsigned int i = 0; i < cycleOptimizedConfs.size(); ++i) {
181  msg << cycleOptimizedConfs.at(i) << " ";
182  }
183  msg << endl;
184  verboseLog(msg.str())
185  }
186  delete growMachine;
187  growMachine = NULL;
188 
189  int currentFrequencyMHz = sweeper.nextFrequency();
190  vector<RowID>::const_iterator archIter;
191  while (currentFrequencyMHz != 0) {
192 
193  verboseLogC("Testing frequency: " + Conversion::toString(
194  currentFrequencyMHz), 3)
195  /* Find the configurations that are fast enough for the
196  real time requirements of the applications at the
197  currently examined frequency. */
198  for (archIter = cycleOptimizedConfs.begin();
199  archIter != cycleOptimizedConfs.end();
200  archIter++) {
201 
202  verboseLogC("Testing (fast enough) init config: " +
203  Conversion::toString(*archIter), 3)
204  // if is fast enough for all apps
205  if (fastEnough(*archIter, currentFrequencyMHz, dsdb)) {
206  verboseLogC("Calling minimize machine for init config: " +
207  Conversion::toString(*archIter), 3)
208 
209  // calling MimimizeMachine plugin with confToMinimize
210  // (architer) and currentFrequencyMHz
211  minimizeMachine->giveParameter("frequency",
212  Conversion::toString(currentFrequencyMHz));
213  DSDBManager::MachineConfiguration minConf =
214  callPlugin(minimizeMachine, *archIter, dsdb);
215 
216  // create implementation for configuration
217  RowID selectedConf = createImplementationAndStore(minConf,
218  currentFrequencyMHz, 0, true, icDec_, icDecHDB_);
219 
220  verboseLogC("Implementation selection produced a config: "
221  + Conversion::toString(selectedConf), 3)
222 
223  // check if component selection failed
224  if (selectedConf == 0) {
225  verboseLogC("Component selection failed for minimized"
226  " arch: " + Conversion::toString(
227  minConf.architectureID), 3)
228  continue;
229  }
230 
231  // IC optimization with SimpleICOptimizer plugin
232  vector<RowID> icOptimizedResult =
233  icOptimizer->explore(selectedConf);
234  if (icOptimizedResult.size() == 1) {
236  std::ostringstream msg(std::ostringstream::out);
237  msg << "Config " << icOptimizedResult.at(0)
238  << " created for frequency "
239  << currentFrequencyMHz << "." << endl;
240  verboseLogC(msg.str(), 1)
241  }
242  result.push_back(icOptimizedResult.at(0));
243  } else {
244  // simpleICOptimizer can make a machine not fully
245  // connected, and so, register file requirements can
246  // change. Meaning evaluating the machine can fail in
247  // the plugin.
248  verboseLogC("SimpleICOptimzer failed for arch: "
249  + Conversion::toString(selectedConf), 3)
250  continue;
251  }
252 
253  /// @todo Optimization of the instruction size
254  /// not required for 1st version!
255 
256  /// @todo Final optimization/tuning
257  /// not required for 1st version!
258 
259  } else {
260  verboseLogC("Init config was too slow.", 3)
261  // the architecture was too slow
262  }
263 
264  }
265  // advance to next frequency
266  currentFrequencyMHz = sweeper.nextFrequency();
267  }
268 
269  delete minimizeMachine;
270  minimizeMachine = NULL;
271  delete icOptimizer;
272  icOptimizer = NULL;
273 
274  // Idea:
275  // All results will be given to a result explorer that returns
276  // the given number of best configuration id:s that can be returned
277  // to the user.
278  // BestResultExplorer resultExplorer(dsdb, explorer.results());
279  // result = resultExplorer.find(5);
280 
281  return result;
282  }

References DSDBManager::MachineConfiguration::architectureID, DesignSpaceExplorerPlugin::explore(), DesignSpaceExplorerPlugin::giveParameter(), DesignSpaceExplorer::loadExplorerPlugin(), FrequencySweep::nextFrequency(), Conversion::toString(), Application::verboseLevel(), verboseLog, and verboseLogC.

Here is the call graph for this function:

◆ fastEnough()

bool FrequencySweepExplorer::fastEnough ( const RowID id,
const int &  freq,
DSDBManager dsdb 
)
inlineprivate

Check if architecture is fast enough.

Parameters
idRow id of the architecture.
freqFrequency in MHz for testing the run time.
dsdbDesing Space Explorer database.

Definition at line 356 of file FrequencySweepExplorer.cc.

356  {
357  set<RowID>::const_iterator applicationIter;
358  set<RowID> applicationIDs = dsdb.applicationIDs();
359  DSDBManager::MachineConfiguration configuration =
360  dsdb.configuration(id);
361  for (applicationIter = applicationIDs.begin();
362  applicationIter != applicationIDs.end();
363  applicationIter++) {
364 
365  ClockCycleCount cycleCount =
366  dsdb.cycleCount(
367  *applicationIter, configuration.architectureID);
368  TestApplication testApplication(
369  dsdb.applicationPath(*applicationIter));
370  // test if application max runtime is set
371  if (testApplication.maxRuntime() <= 0) {
372  continue;
373  }
374 
375  if ((static_cast<double>(cycleCount) / (static_cast<double>(freq) * static_cast<double>(1000000))) >
376  testApplication.maxRuntime()) {
377  // we can skip this architecture since it won't
378  // meet the speed requirements
379  return false;
380  }
381  }
382  return true;
383  }

References DSDBManager::applicationIDs(), DSDBManager::applicationPath(), DSDBManager::MachineConfiguration::architectureID, DSDBManager::configuration(), DSDBManager::cycleCount(), and TestApplication::maxRuntime().

Here is the call graph for this function:

◆ openHDBs()

void FrequencySweepExplorer::openHDBs ( )
inlineprivate

Loads HDBs that are used into the registry.

Definition at line 339 of file FrequencySweepExplorer.cc.

339  {
340  HDBRegistry& hdbRegistry = HDBRegistry::instance();
341 
342  // if HDBRegistry contains no HDBManagers load from default paths
343  if (hdbRegistry.hdbCount() == 0) {
344  hdbRegistry.loadFromSearchPaths();
345  }
346  }

References HDB::HDBRegistry::hdbCount(), and HDB::HDBRegistry::loadFromSearchPaths().

Here is the call graph for this function:

◆ PLUGIN_DESCRIPTION()

FrequencySweepExplorer::PLUGIN_DESCRIPTION ( "Frequency sweep algorithm."  )
private

◆ producesArchitecture()

virtual bool FrequencySweepExplorer::producesArchitecture ( ) const
inlineprivatevirtual

Implements DesignSpaceExplorerPlugin.

Definition at line 123 of file FrequencySweepExplorer.cc.

123 { return false; }

◆ readParameters()

void FrequencySweepExplorer::readParameters ( )
inlineprivate

Reads the parameters given to the plugin.

Definition at line 323 of file FrequencySweepExplorer.cc.

◆ requiresHDB()

virtual bool FrequencySweepExplorer::requiresHDB ( ) const
inlineprivatevirtual

Implements DesignSpaceExplorerPlugin.

Definition at line 124 of file FrequencySweepExplorer.cc.

124 { return true; }

◆ requiresSimulationData()

virtual bool FrequencySweepExplorer::requiresSimulationData ( ) const
inlineprivatevirtual

Implements DesignSpaceExplorerPlugin.

Definition at line 125 of file FrequencySweepExplorer.cc.

125 { return false; }

◆ requiresStartingPointArchitecture()

virtual bool FrequencySweepExplorer::requiresStartingPointArchitecture ( ) const
inlineprivatevirtual

Implements DesignSpaceExplorerPlugin.

Definition at line 122 of file FrequencySweepExplorer.cc.

122 { return true; }

Member Data Documentation

◆ busCountDefault_

const int FrequencySweepExplorer::busCountDefault_ = 4
staticprivate

Default value of busCount_.

Definition at line 288 of file FrequencySweepExplorer.cc.

◆ endMHz_

unsigned int FrequencySweepExplorer::endMHz_
private

Definition at line 308 of file FrequencySweepExplorer.cc.

◆ endMHzPN_

const std::string FrequencySweepExplorer::endMHzPN_
staticprivate

Definition at line 299 of file FrequencySweepExplorer.cc.

◆ icDec_

std::string FrequencySweepExplorer::icDec_
private

name of the ic decoder plugin for idf

Definition at line 312 of file FrequencySweepExplorer.cc.

◆ icDecHDB_

std::string FrequencySweepExplorer::icDecHDB_
private

name of the hdb used by ic decoder

Definition at line 314 of file FrequencySweepExplorer.cc.

◆ icDecHDBPN_

const std::string FrequencySweepExplorer::icDecHDBPN_
staticprivate

Definition at line 303 of file FrequencySweepExplorer.cc.

◆ icDecPN_

const std::string FrequencySweepExplorer::icDecPN_
staticprivate

Definition at line 302 of file FrequencySweepExplorer.cc.

◆ immSlotBusIndexDefault_

const unsigned int FrequencySweepExplorer::immSlotBusIndexDefault_ = 0
staticprivate

Definition at line 290 of file FrequencySweepExplorer.cc.

◆ maxNumberOfRegisterFilesDefault_

const int FrequencySweepExplorer::maxNumberOfRegisterFilesDefault_ = 16
staticprivate

Definition at line 293 of file FrequencySweepExplorer.cc.

◆ registerFileSizeDefault_

const int FrequencySweepExplorer::registerFileSizeDefault_ = 4
staticprivate

Definition at line 292 of file FrequencySweepExplorer.cc.

◆ rfReadPortsDefault_

const int FrequencySweepExplorer::rfReadPortsDefault_ = 1
staticprivate

Definition at line 294 of file FrequencySweepExplorer.cc.

◆ rfWritePortsDefault_

const int FrequencySweepExplorer::rfWritePortsDefault_ = 1
staticprivate

Definition at line 295 of file FrequencySweepExplorer.cc.

◆ selector_

ComponentImplementationSelector FrequencySweepExplorer::selector_
private

Selector used by the plugin.

Definition at line 286 of file FrequencySweepExplorer.cc.

◆ startMHz_

unsigned int FrequencySweepExplorer::startMHz_
private

Definition at line 307 of file FrequencySweepExplorer.cc.

◆ startMHzPN_

const std::string FrequencySweepExplorer::startMHzPN_
staticprivate

Definition at line 298 of file FrequencySweepExplorer.cc.

◆ stepMHz_

unsigned int FrequencySweepExplorer::stepMHz_
private

Definition at line 309 of file FrequencySweepExplorer.cc.

◆ stepMHzPN_

const std::string FrequencySweepExplorer::stepMHzPN_
staticprivate

Definition at line 300 of file FrequencySweepExplorer.cc.

◆ superiority_

unsigned int FrequencySweepExplorer::superiority_
private

Superirity percentage for the GrowMachine plugin.

Definition at line 316 of file FrequencySweepExplorer.cc.

◆ superiorityPN_

const std::string FrequencySweepExplorer::superiorityPN_
staticprivate

Definition at line 304 of file FrequencySweepExplorer.cc.

◆ talo

const std::string FrequencySweepExplorer::talo
staticprivate

Definition at line 318 of file FrequencySweepExplorer.cc.


The documentation for this class was generated from the following file:
DesignSpaceExplorerPlugin::readCompulsoryParameter
void readCompulsoryParameter(const std::string paramName, T &param) const
FrequencySweep
Definition: FrequencySweep.hh:47
DesignSpaceExplorer::db
virtual DSDBManager & db()
Definition: DesignSpaceExplorer.cc:300
UINT
@ UINT
Definition: ExplorerPluginParameter.hh:40
FrequencySweepExplorer::explore
virtual std::vector< RowID > explore(const RowID &startPointConfigurationID, const unsigned int &)
Definition: FrequencySweepExplorer.cc:136
FrequencySweepExplorer::stepMHzPN_
const static std::string stepMHzPN_
Definition: FrequencySweepExplorer.cc:300
DesignSpaceExplorerPlugin::checkParameters
void checkParameters() const
Definition: DesignSpaceExplorerPlugin.cc:147
FrequencySweepExplorer::icDecHDB_
std::string icDecHDB_
name of the hdb used by ic decoder
Definition: FrequencySweepExplorer.cc:314
DesignSpaceExplorerPlugin
Definition: DesignSpaceExplorerPlugin.hh:55
RowID
int RowID
Type definition of row ID in relational databases.
Definition: DBTypes.hh:37
DesignSpaceExplorerPlugin::DesignSpaceExplorerPlugin
DesignSpaceExplorerPlugin()
Definition: DesignSpaceExplorerPlugin.cc:48
Conversion
Definition: Conversion.hh:52
Application::verboseLevel
static int verboseLevel()
Definition: Application.hh:176
FrequencySweepExplorer::callPlugin
DSDBManager::MachineConfiguration callPlugin(DesignSpaceExplorerPlugin *plugin, const RowID &arch, DSDBManager &dsdb)
Definition: FrequencySweepExplorer.cc:393
DesignSpaceExplorer::createImplementationAndStore
RowID createImplementationAndStore(const DSDBManager::MachineConfiguration &conf, const double &frequency=0.0, const double &maxArea=0.0, const bool &createEstimates=true, const std::string &icDec="DefaultICDecoder", const std::string &icDecHDB="asic_130nm_1.5V.hdb")
Definition: DesignSpaceExplorer.cc:597
Conversion::toString
static std::string toString(const T &source)
FrequencySweepExplorer::icDecHDBPN_
const static std::string icDecHDBPN_
Definition: FrequencySweepExplorer.cc:303
verboseLog
#define verboseLog(text)
Definition: Application.hh:115
FrequencySweepExplorer::startMHzPN_
const static std::string startMHzPN_
Definition: FrequencySweepExplorer.cc:298
DesignSpaceExplorerPlugin::readOptionalParameter
void readOptionalParameter(const std::string paramName, T &param) const
HDB::HDBRegistry
Definition: HDBRegistry.hh:46
FrequencySweepExplorer::endMHz_
unsigned int endMHz_
Definition: FrequencySweepExplorer.cc:308
DSDBManager::MachineConfiguration
Definition: DSDBManager.hh:78
FrequencySweepExplorer::readParameters
void readParameters()
Definition: FrequencySweepExplorer.cc:323
InvalidData
Definition: Exception.hh:149
STRING
@ STRING
Definition: ExplorerPluginParameter.hh:40
verboseLogC
#define verboseLogC(text, neededVerbosity)
Definition: Application.hh:110
DSDBManager::cycleCount
ClockCycleCount cycleCount(RowID application, RowID architecture) const
Definition: DSDBManager.cc:1261
FrequencySweepExplorer::icDecPN_
const static std::string icDecPN_
Definition: FrequencySweepExplorer.cc:302
__func__
#define __func__
Definition: Application.hh:67
DesignSpaceExplorerPlugin::giveParameter
virtual void giveParameter(const std::string &name, const std::string &value)
Definition: DesignSpaceExplorerPlugin.cc:89
FrequencySweepExplorer::superiority_
unsigned int superiority_
Superirity percentage for the GrowMachine plugin.
Definition: FrequencySweepExplorer.cc:316
FrequencySweepExplorer::fastEnough
bool fastEnough(const RowID &id, const int &freq, DSDBManager &dsdb)
Definition: FrequencySweepExplorer.cc:356
FrequencySweepExplorer::stepMHz_
unsigned int stepMHz_
Definition: FrequencySweepExplorer.cc:309
DSDBManager
Definition: DSDBManager.hh:76
DesignSpaceExplorer::loadExplorerPlugin
static DesignSpaceExplorerPlugin * loadExplorerPlugin(const std::string &pluginName, DSDBManager *dsdb=NULL)
Definition: DesignSpaceExplorer.cc:527
HDB::HDBRegistry::hdbCount
int hdbCount()
Definition: HDBRegistry.cc:135
DSDBManager::configuration
MachineConfiguration configuration(RowID id) const
Definition: DSDBManager.cc:361
DesignSpaceExplorerPlugin::explore
virtual std::vector< RowID > explore(const RowID &startPointConfigurationID, const unsigned int &maxIter=0)
Definition: DesignSpaceExplorerPlugin.cc:174
FrequencySweepExplorer::openHDBs
void openHDBs()
Definition: FrequencySweepExplorer.cc:339
FrequencySweepExplorer::superiorityPN_
const static std::string superiorityPN_
Definition: FrequencySweepExplorer.cc:304
DesignSpaceExplorerPlugin::name
virtual std::string name() const
Definition: DesignSpaceExplorerPlugin.cc:77
HDB::HDBRegistry::loadFromSearchPaths
void loadFromSearchPaths()
Definition: HDBRegistry.cc:146
FrequencySweepExplorer::startMHz_
unsigned int startMHz_
Definition: FrequencySweepExplorer.cc:307
ClockCycleCount
CycleCount ClockCycleCount
Alias for ClockCycleCount.
Definition: SimulatorConstants.hh:57
DSDBManager::applicationPath
std::string applicationPath(RowID id) const
Definition: DSDBManager.cc:947
FrequencySweepExplorer::endMHzPN_
const static std::string endMHzPN_
Definition: FrequencySweepExplorer.cc:299
DSDBManager::MachineConfiguration::architectureID
RowID architectureID
Definition: DSDBManager.hh:79
FrequencySweepExplorer::icDec_
std::string icDec_
name of the ic decoder plugin for idf
Definition: FrequencySweepExplorer.cc:312
TestApplication
Definition: TestApplication.hh:46
DesignSpaceExplorerPlugin::addParameter
void addParameter(TCEString name, ExplorerPluginParameterType type, bool compulsory=true, TCEString defaultValue="", TCEString description="")
DSDBManager::applicationIDs
std::set< RowID > applicationIDs() const
Definition: DSDBManager.cc:1381