MaxPlusAnalysis::Exploration Class Reference
#include <mpexplore.h>
Public Member Functions | |
MPThroughput | explore (void) |
MPThroughput | explore_backward (void) |
Matrix * | convertToMaxPlusMatrix (void) |
TimedSDFgraph * | convertToHSDFByMP (void) |
MPTime | exploreDelayForSchedule (MaxPlus::Vector *gamma0, MaxPlus::Vector *gamma_s, MPTime period) |
void | exploreEigen (MaxPlus::Vector **eigenvector, MPTime *eigenvalue) |
MPDelay | timeProgress (State *x) |
MPDelay | normalize (State *x) |
Public Attributes | |
GraphDecoration::Graph * | G |
TimedSDFgraph * | g |
GraphDecoration::Actor ** | staticSchedule |
Private Member Functions | |
CString & | replaceString (CString &s, const CString &fnd, const CString &rep) |
Detailed Description
class Exploration A MaxPlusExploration object encapsulates MaxPlus analysis algorithms.
Member Function Documentation
TimedSDFgraph * MaxPlusAnalysis::Exploration::convertToHSDFByMP | ( | void | ) |
convertToHSDFByMP() Convert SDF graph to canonical HSDFG according to DAC09 submission procedure.
References a, SDFgraph::addActor(), SDFgraph::addChannel(), SDFactor::addPort(), c, component, convertToMaxPlusMatrix(), TimedSDFgraph::createCopy(), TimedSDFactor::_Processor::execTime, g, MaxPlus::Matrix::get(), MaxPlus::Matrix::getSize(), SDFport::In, SDFgraph::nrActors(), SDFgraph::nrChannels(), SDFactor::nrPorts(), SDFport::Out, SDFcomponent::setName(), TimedSDFactor::_Processor::stateSize, and TimedSDFactor::_Processor::type.
Referenced by analyzeSDFG().
Matrix * MaxPlusAnalysis::Exploration::convertToMaxPlusMatrix | ( | void | ) |
References a, MaxPlusAnalysis::SymbolicState::actorEnabled(), MaxPlusAnalysis::GraphDecoration::Graph::actors, MaxPlusAnalysis::GraphDecoration::ActorCount::decreaseValue(), MaxPlusAnalysis::GraphDecoration::Graph::fireSymbolic(), MaxPlusAnalysis::SymbolicState::firstToken(), G, MaxPlusAnalysis::GraphDecoration::ActorCount::getValue(), MaxPlusAnalysis::GraphDecoration::ActorCount::isEmpty(), MaxPlusAnalysis::SymbolicState::nextToken(), MaxPlusAnalysis::SymbolicState::numberOfTokens(), MaxPlus::Matrix::put(), MaxPlusAnalysis::GraphDecoration::Graph::repetitionVector(), and MaxPlusAnalysis::SymbolicState::zeroState().
Referenced by FSMSADF::GraphConversion::computeMaxPlusMatricesFromScenarios(), and convertToHSDFByMP().
MPThroughput MaxPlusAnalysis::Exploration::explore | ( | void | ) |
explore() perform state space exploration till recurrent state to determine throughput
References a, MaxPlusAnalysis::State::actorEnabled(), MaxPlusAnalysis::GraphDecoration::Graph::actors, MaxPlusAnalysis::State::copy(), MaxPlusAnalysis::State::count, MaxPlusAnalysis::GraphDecoration::ActorCount::decreaseValue(), MaxPlusAnalysis::GraphDecoration::Graph::fire(), G, MaxPlusAnalysis::GraphDecoration::ActorCount::getValue(), MaxPlusAnalysis::StoredStates::includes(), MaxPlusAnalysis::GraphDecoration::ActorCount::isEmpty(), normalize(), MaxPlusAnalysis::GraphDecoration::Graph::repetitionVector(), staticSchedule, MaxPlusAnalysis::StoredStates::store(), MaxPlusAnalysis::GraphDecoration::ActorCount::sum(), MaxPlusAnalysis::State::timestamp, and MaxPlusAnalysis::State::zeroState().
Referenced by analyzeSDFG().
MPThroughput MaxPlusAnalysis::Exploration::explore_backward | ( | void | ) |
explore_backward() Perform state space exploration backward in time till recurrent state to determine throughput
References a, MaxPlusAnalysis::State::actorReverseEnabled(), MaxPlusAnalysis::GraphDecoration::Graph::actors, MaxPlusAnalysis::State::copy(), MaxPlusAnalysis::State::count, MaxPlusAnalysis::GraphDecoration::ActorCount::decreaseValue(), MaxPlusAnalysis::GraphDecoration::Graph::fire_reverse(), G, MaxPlusAnalysis::GraphDecoration::ActorCount::getValue(), MaxPlusAnalysis::StoredStates::includes(), MaxPlusAnalysis::GraphDecoration::ActorCount::isEmpty(), normalize(), MaxPlusAnalysis::GraphDecoration::Graph::repetitionVector(), staticSchedule, MaxPlusAnalysis::StoredStates::store(), MaxPlusAnalysis::GraphDecoration::ActorCount::sum(), MaxPlusAnalysis::State::timestamp, and MaxPlusAnalysis::State::zeroState().
MPTime MaxPlusAnalysis::Exploration::exploreDelayForSchedule | ( | MaxPlus::Vector * | gamma0, | |
MaxPlus::Vector * | gamma_s, | |||
MPTime | period | |||
) |
exploreDelayForSchedule() Compute the minimal delay of a delay-period model for give period, starting schedule and steady-state schedule according to the algorithm presented in the paper "Synchronous Dataflow Scenarios".
References a, MaxPlusAnalysis::State::actorEnabled(), MaxPlusAnalysis::GraphDecoration::Graph::actors, MaxPlusAnalysis::State::copy(), MaxPlusAnalysis::State::count, MaxPlusAnalysis::GraphDecoration::ActorCount::decreaseValue(), MaxPlusAnalysis::GraphDecoration::Graph::fire(), MaxPlusAnalysis::State::fromVector(), G, MaxPlusAnalysis::GraphDecoration::ActorCount::getValue(), MaxPlusAnalysis::StoredStates::includes(), MaxPlusAnalysis::GraphDecoration::ActorCount::isEmpty(), MAX, MaxPlusAnalysis::State::minus(), MaxPlus::MP_MINUSINFINITY, MaxPlusAnalysis::State::norm(), normalize(), MaxPlusAnalysis::State::normalize(), MaxPlusAnalysis::GraphDecoration::Graph::repetitionVector(), staticSchedule, MaxPlusAnalysis::StoredStates::store(), and MaxPlusAnalysis::GraphDecoration::ActorCount::sum().
Referenced by analyzeSDFG().
void MaxPlusAnalysis::Exploration::exploreEigen | ( | MaxPlus::Vector ** | eigenvector, | |
MPTime * | eigenvalue | |||
) |
exploreEigen() Compute the eigenvector and eigenvalue of the MaxPlus matrix associated with the SDFG.
References a, MaxPlusAnalysis::State::actorEnabled(), MaxPlusAnalysis::GraphDecoration::Graph::actors, MaxPlusAnalysis::State::asVector(), MaxPlusAnalysis::State::copy(), MaxPlusAnalysis::GraphDecoration::ActorCount::decreaseValue(), MaxPlusAnalysis::State::equals(), MaxPlusAnalysis::GraphDecoration::Graph::fire(), G, MaxPlusAnalysis::GraphDecoration::ActorCount::getValue(), MaxPlusAnalysis::GraphDecoration::ActorCount::isEmpty(), lambda, normalize(), MaxPlusAnalysis::GraphDecoration::Graph::repetitionVector(), MaxPlusAnalysis::State::smooth(), staticSchedule, MaxPlusAnalysis::GraphDecoration::ActorCount::sum(), and MaxPlusAnalysis::State::zeroState().
Referenced by analyzeSDFG().
References MaxPlusAnalysis::State::normalize().
Referenced by explore(), explore_backward(), exploreDelayForSchedule(), and exploreEigen().
CString & MaxPlusAnalysis::Exploration::replaceString | ( | CString & | s, | |
const CString & | fnd, | |||
const CString & | rep | |||
) | [private] |
replaceString() Utility function for substring replacement.
References CString::replace().
References MaxPlusAnalysis::State::firstToken(), and MaxPlusAnalysis::Token::productionTime.
Member Data Documentation
Referenced by explore(), explore_backward(), exploreDelayForSchedule(), and exploreEigen().
The documentation for this class was generated from the following files: