| SST
    9.0.0
    StructuralSimulationToolkit | 
Main control class for a SST Simulation. More...
#include <simulation.h>
| Public Types | |
| enum | Mode_t { UNKNOWN, INIT, RUN, BOTH } | 
| Type of Run Modes.  More... | |
| typedef std::map< std::pair < SimTime_t, int >, Clock * > | clockMap_t | 
| typedef std::map< std::pair < SimTime_t, int >, OneShot * > | oneShotMap_t | 
| Public Member Functions | |
| void | printStatus (bool fullStatus) | 
| Causes the current status of the simulation to be printed to stderr.  More... | |
| void | processGraphInfo (ConfigGraph &graph, const RankInfo &myRank, SimTime_t min_part) | 
| Processes the ConfigGraph to pull out any need information about relationships among the threads. | |
| int | performWireUp (ConfigGraph &graph, const RankInfo &myRank, SimTime_t min_part) | 
| Converts a ConfigGraph graph into actual set of links and components. | |
| void | setStopAtCycle (Config *cfg) | 
| Set cycle count, which, if reached, will cause the simulation to halt.  More... | |
| void | initialize () | 
| Perform the init() phase of simulation. | |
| void | complete () | 
| Perform the complete() phase of simulation. | |
| void | setup () | 
| Perform the setup() and run phases of the simulation.  More... | |
| void | run () | 
| void | finish () | 
| bool | isIndependentThread () | 
| Mode_t | getSimulationMode () const | 
| Get the run mode of the simulation (e.g.  More... | |
| const SimTime_t & | getCurrentSimCycle () const | 
| Return the current simulation time as a cycle count. | |
| SimTime_t | getEndSimCycle () const | 
| Return the end simulation time as a cycle count. | |
| int | getCurrentPriority () const | 
| Return the current priority. | |
| UnitAlgebra | getElapsedSimTime () const | 
| Return the elapsed simulation time as a time. | |
| UnitAlgebra | getFinalSimTime () const | 
| Return the end simulation time as a time. | |
| RankInfo | getRank () const | 
| Get this instance's parallel rank. | |
| RankInfo | getNumRanks () const | 
| Get the number of parallel ranks in the simulation. | |
| TimeConverter * | registerClock (const std::string &freq, Clock::HandlerBase *handler, int priority) | 
| Register a handler to be called on a set frequency. | |
| TimeConverter * | registerClock (const UnitAlgebra &freq, Clock::HandlerBase *handler, int priority) | 
| TimeConverter * | registerClock (TimeConverter *tcFreq, Clock::HandlerBase *handler, int priority) | 
| void | unregisterClock (TimeConverter *tc, Clock::HandlerBase *handler, int priority) | 
| Remove a clock handler from the list of active clock handlers. | |
| Cycle_t | reregisterClock (TimeConverter *tc, Clock::HandlerBase *handler, int priority) | 
| Reactivate an existing clock and handler.  More... | |
| Cycle_t | getNextClockCycle (TimeConverter *tc, int priority=CLOCKPRIORITY) | 
| Returns the next Cycle that the TImeConverter would fire.  More... | |
| TimeConverter * | registerOneShot (std::string timeDelay, OneShot::HandlerBase *handler, int priority) | 
| Register a OneShot event to be called after a time delay Note: OneShot cannot be canceled, and will always callback after the timedelay. | |
| TimeConverter * | registerOneShot (const UnitAlgebra &timeDelay, OneShot::HandlerBase *handler, int priority) | 
| void | insertActivity (SimTime_t time, Activity *ev) | 
| Insert an activity to fire at a specified time. | |
| Exit * | getExit () const | 
| Return the exit event. | |
| const std::vector< SimTime_t > & | getInterThreadLatencies () const | 
| SimTime_t | getInterThreadMinLatency () const | 
| uint64_t | getTimeVortexMaxDepth () const | 
| uint64_t | getTimeVortexCurrentDepth () const | 
| uint64_t | getSyncQueueDataSize () const | 
| Statistics::StatisticProcessingEngine * | getStatisticsProcessingEngine (void) const | 
| Return the Statistic Processing Engine associated with this Simulation. | |
| LinkMap * | getComponentLinkMap (ComponentId_t id) const | 
| Return pointer to map of links for a given component id. | |
| const ComponentInfoMap & | getComponentInfoMap (void) | 
| Returns reference to the Component Map.  More... | |
| BaseComponent * | getComponent (const ComponentId_t &id) const | 
| returns the component with the given ID | |
| ComponentInfo * | getComponentInfo (const ComponentId_t &id) const | 
| void | setOutputDirectory (std::string &outDir) | 
| Set the output directory for this simulation.  More... | |
| std::string & | getOutputDirectory () | 
| Returns the output directory of the simulation.  More... | |
| void | requireEvent (std::string name) | 
| Signifies that an event type is required for this simulation Causes to Factory to verify that the required event type can be found.  More... | |
| SimTime_t | getNextActivityTime () const | 
| Returns the time of the next item to be executed that is in the TImeVortex of the Simulation. | |
| bool | isWireUpFinished () | 
| Returns true when the Wireup is finished. | |
| Static Public Member Functions | |
| static Simulation * | createSimulation (Config *config, RankInfo my_rank, RankInfo num_ranks, SimTime_t min_part) | 
| Create new simulation.  More... | |
| static void | shutdown () | 
| Used to signify the end of simulation.  More... | |
| static Simulation * | getSimulation () | 
| Return a pointer to the singleton instance of the Simulation. | |
| static void | setSignal (int signal) | 
| Sets an internal flag for signaling the simulation.  More... | |
| static TimeConverter * | getMinPartTC () | 
| static TimeLord * | getTimeLord (void) | 
| Return the TimeLord associated with this Simulation. | |
| static Output & | getSimulationOutput () | 
| Return the base simulation Output class instance. | |
| static SimTime_t | getLocalMinimumNextActivityTime () | 
| Gets the minimum next activity time across all TimeVortices in the Rank. | |
| static SharedRegionManager * | getSharedRegionManager () | 
| Returns the Simulation's SharedRegionManager. | |
| Friends | |
| class | Link | 
| class | Action | 
| class | Output | 
| class | SyncManager | 
| void | wait_my_turn_start () | 
| void | wait_my_turn_end () | 
Main control class for a SST Simulation.
Provides base features for managing the simulation
| typedef std::map<std::pair<SimTime_t, int>, Clock*> SST::Simulation::clockMap_t | 
Map of times to clocks
| typedef std::map<std::pair<SimTime_t, int>, OneShot*> SST::Simulation::oneShotMap_t | 
Map of times to OneShots
| 
 | static | 
Create new simulation.
| config | - Configuration of the simulation | 
| my_rank | - Parallel Rank of this simulation object | 
| num_ranks | - How many Ranks are in the simulation | 
| 
 | inline | 
| Cycle_t SST::Simulation::getNextClockCycle | ( | TimeConverter * | tc, | 
| int | priority = CLOCKPRIORITY | ||
| ) | 
Returns the next Cycle that the TImeConverter would fire.
References SST::Output::fatal(), SST::TimeConverter::getFactor(), and SST::Output::STDERR.
Referenced by SST::BaseComponent::getNextClockCycle().
| 
 | inline | 
Returns the output directory of the simulation.
| 
 | inline | 
Get the run mode of the simulation (e.g.
init, run, both etc)
| void SST::Simulation::printStatus | ( | bool | fullStatus | ) | 
Causes the current status of the simulation to be printed to stderr.
| fullStatus | - if true, call printStatus() on all components as well as print the base Simulation's status | 
References SST::Output::output(), SST::TimeVortex::print(), and SST::Output::STDERR.
| void SST::Simulation::requireEvent | ( | std::string | name | ) | 
Signifies that an event type is required for this simulation Causes to Factory to verify that the required event type can be found.
| name | fully qualified libraryName.EventName | 
References SST::Factory::RequireEvent().
| Cycle_t SST::Simulation::reregisterClock | ( | TimeConverter * | tc, | 
| Clock::HandlerBase * | handler, | ||
| int | priority | ||
| ) | 
Reactivate an existing clock and handler.
References SST::Output::fatal(), SST::TimeConverter::getFactor(), and SST::Output::STDERR.
Referenced by SST::BaseComponent::reregisterClock().
| 
 | inline | 
Set the output directory for this simulation.
| outDir | Path of directory to place simulation outputs in | 
| 
 | static | 
Sets an internal flag for signaling the simulation.
Used internally
| void SST::Simulation::setStopAtCycle | ( | Config * | cfg | ) | 
Set cycle count, which, if reached, will cause the simulation to halt.
References SST::TimeLord::getSimCycles(), SST::TimeVortex::insert(), SST::Activity::setDeliveryTime(), and SST::Config::stopAtCycle.
| void SST::Simulation::setup | ( | ) | 
Perform the setup() and run phases of the simulation.
References SST::Core::ThreadSafe::Barrier::wait().
| 
 | static | 
Used to signify the end of simulation.
Cleans up any existing Simulation Objects