|
SST 16.1.0
Structural Simulation Toolkit
|
Main control class for a SST Simulation. More...
#include <simulation.h>
Public Types | |
| enum | ShutdownMode_t { SHUTDOWN_CLEAN , SHUTDOWN_SIGNAL , SHUTDOWN_EMERGENCY } |
| using | clockMap_t = std::map<std::pair<SimTime_t, int>, Clock*> |
Public Member Functions | |
| SST::Core::Serialization::ObjectMap * | getComponentObjectMap () |
| SimulationRunMode | getSimulationMode () const |
| Get the run mode of the simulation (e.g. | |
| 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 | getEndSimTime () 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. | |
| std::string & | getOutputDirectory () |
| Returns the output directory of the simulation. | |
| void | requireLibrary (const std::string &name) |
| Signifies that a library is required for this simulation. | |
| void | printStatus (bool fullStatus) |
| Causes the current status of the simulation to be printed to stderr. | |
| double | getRunPhaseElapsedRealTime () const |
| double | getInitPhaseElapsedRealTime () const |
| double | getCompletePhaseElapsedRealTime () const |
| void | insertActivity (SimTime_t time, Activity *ev) |
| Insert an activity to fire at a specified time. | |
| Exit * | getExit () const |
| Return the exit event. | |
| 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 | initializeStatisticEngine (StatsConfig *stats_config) |
| int | prepareLinks (ConfigGraph &graph, const RankInfo &myRank, SimTime_t min_part) |
| int | performWireUp (ConfigGraph &graph, const RankInfo &myRank, SimTime_t min_part) |
| void | exchangeLinkInfo () |
| void | findRankSyncInterval () |
| Functions to compute the current rank and thread sync intervals. | |
| void | findThreadSyncInterval () |
| void | updateSyncMinPart () |
| void | setupSimActions () |
| Setup external control actions (forced stops, signal handling. | |
| bool | parseSignalString (std::string &arg, std::string &name, Params ¶ms) |
| Helper for signal string parsing. | |
| 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. | |
| void | prepare_for_run () |
| void | setup_interactive_mode () |
| void | run () |
| void | finish () |
| void | updateSyncInterval () |
| void | adjustTimeAtSimEnd () |
| Adjust clocks and time to reflect precise simulation end time which may differ in parallel simulations from the time simulation end is detected. | |
| bool | isIndependentThread () |
| void | printProfilingInfo (Util::PerfReporter *reporter) |
| void | printPerformanceInfo () |
| const std::vector< SimTime_t > & | getInterThreadLatencies () const |
| SimTime_t | getInterThreadMinLatency () const |
| LinkMap * | getComponentLinkMap (ComponentId_t id) const |
| const ComponentInfoMap & | getComponentInfoMap () const |
| Returns reference to the Component Info Map. | |
| BaseComponent * | getComponent (const ComponentId_t &id) const |
| returns the component with the given ID | |
| ComponentInfo * | getComponentInfo (const ComponentId_t &id) const |
| returns the ComponentInfo object for the given ID | |
| void | setOutputDirectory (const std::string &outDir) |
| Set the output directory for this simulation. | |
| bool | isWireUpFinished () |
| Returns true when the Wireup is finished. | |
| uint64_t | getTimeVortexMaxDepth () const |
| uint64_t | getTimeVortexCurrentDepth () const |
| uint64_t | getSyncQueueDataSize () const |
| CheckpointAction * | getCheckpointAction () const |
| Return the checkpoint event. | |
| std::pair< pvt::TimeVortexSort::iterator, pvt::TimeVortexSort::iterator > | getEventsForHandler (uintptr_t handler) |
| 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 | registerClock (SimTime_t factor, Clock::HandlerBase *handler, int priority) |
| Clock * | reportClock (SimTime_t factor, 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. | |
| void | registerClock_restart (SimTime_t factor, Clock::HandlerBase *handler, int priority) |
| Register a clock on a restart. | |
| Cycle_t | getNextClockCycle (TimeConverter tc, int priority=CLOCKPRIORITY) |
| Returns the next Cycle that the TimeConverter would fire. | |
| SimTime_t | getClockForHandler (Clock::HandlerBase *handler) |
| Gets the clock the handler is registered with, represented by it's factor. | |
| void | registerClockGroup (TimeConverter tc, Clock::Group *group) |
| void | registerClockGroup (SimTime_t factor, Clock::Group *group) |
| Statistics::StatisticProcessingEngine * | getStatisticsProcessingEngine () |
| Return the Statistic Processing Engine associated with this Simulation. | |
| Simulation (RankInfo my_rank, RankInfo num_ranks, bool restart, SimTime_t currentSimCycle, int currentPriority) | |
| Simulation (const Simulation &)=delete | |
| Simulation & | operator= (const Simulation &)=delete |
| TimeConverter | minPartToTC (SimTime_t cycles) const |
| Get a handle to a TimeConverter. | |
| void | scheduleCheckpoint () |
| void | scheduleInteractiveConsole (const std::string &msg) |
| void | checkpoint (const std::string &checkpoint_filename) |
| Write the partition specific checkpoint data. | |
| void | checkpoint_append_registry (const std::string ®istry_name, const std::string &blob_name) |
| Append partitions registry information. | |
| void | checkpoint_write_globals (int checkpoint_id, const std::string &checkpoint_filename, const std::string ®istry_filename, const std::string &globals_filename) |
| Write the global data to a binary file and create the registry and write the header info. | |
| void | restart (ConfigGraph *graph) |
| void | discoverRemoteLinks () |
| void | discoverRemoteLinksMoveData (std::vector< std::pair< LinkId_t, RankInfo > > &send_vec, std::vector< std::pair< LinkId_t, RankInfo > > &recv_vec) |
| RankInfo | getRankForLinkOnRestart (RankInfo rank, LinkId_t UNUSED(id)) |
| Function used to get the rank for a link on restart. | |
| void | initialize_interactive_console (const std::string &type) |
| Component * | createComponent (ComponentId_t id, const std::string &name, Params ¶ms) |
| TimeVortex * | getTimeVortex () const |
| void | signalShutdown (bool abnormal) |
| Signal Shutdown Called when a signal needs to terminate SST E.g., SIGINT or SIGTERM has been seen abnormal indicates whether this was unexpected or not. | |
| void | consoleShutdown (bool abnormal) |
| Console Shutdown Called when a shutdown command or watchpoint shutdown action trigger needs to terminate SST. | |
| void | setEndSim () |
| Set EndSim Called by SyncMgr when interactive console ready to shutdown. | |
| void | endSimulation () |
| Normal Shutdown. | |
| void | endSimulation (SimTime_t end) |
| void | checkIndependent () |
| uint32_t | getNextLinkOrderTag () |
| Gets the next value for the order field of the link. | |
| void | initializeProfileTools (const std::string &config) |
| Performance Tracking Information. | |
| template<typename T> | |
| std::vector< T * > | getProfileTool (std::string point) |
| void | printSimulationState () |
Static Public Member Functions | |
| static Simulation * | getSimulation () |
| Return a pointer to the singleton instance of the Simulation. | |
| static TimeLord * | getTimeLord () |
| Return the TimeLord associated with this Simulation. | |
| static Output & | getSimulationOutput () |
| Return the base simulation Output class instance. | |
| static Simulation * | createSimulation (RankInfo my_rank, RankInfo num_ranks, bool restart, SimTime_t currentSimCycle, int currentPriority) |
| Create new simulation. | |
| static void | shutdown () |
| Used to signify the end of simulation. | |
| static void | notifySignal () |
| Sets an internal flag for signaling the simulation. | |
| static void | serializeSharedObjectManager (SST::Core::Serialization::serializer &ser) |
| static TimeConverter | getMinPartTC () |
| static SimTime_t | getLocalMinimumNextActivityTime () |
| Gets the minimum next activity time across all TimeVortices in the Rank. | |
| static void | writeCheckpointConfigGraph (ConfigGraph *graph) |
| static void | resizeBarriers (uint32_t nthr) |
| static void | emergencyShutdown () |
| Emergency Shutdown Called when a fatal event has occurred. | |
Data Fields | |
| Core::ThreadSafe::BoundedQueue< std::vector< std::pair< LinkId_t, RankInfo > > * > | local_discover_queue |
| Core::ThreadSafe::BoundedQueue< std::vector< std::pair< LinkId_t, RankInfo > > * > * | remote_discover_queue |
| std::vector< std::pair< LinkId_t, RankInfo > > * | xfer_vec = nullptr |
| bool | direct_interthread |
| TimeVortex * | timeVortex = nullptr |
| std::string | timeVortexType |
| TimeConverter | threadMinPartTC |
| Activity * | current_activity |
| std::vector< SimTime_t > | interThreadLatencies |
| SimTime_t | interThreadMinLatency = MAX_SIMTIME_T |
| SyncManager * | syncManager |
| ComponentInfoMap | compInfoMap |
| clockMap_t | clockMap |
| SimulatorHeartbeat * | m_heartbeat = nullptr |
| CheckpointAction * | checkpoint_action_ |
| bool | endSim = false |
| bool | independent |
| unsigned int | untimed_phase |
| volatile sig_atomic_t | signal_arrived_ |
| ShutdownMode_t | shutdown_mode_ |
| bool | enter_shutdown_ = false |
| bool | wireUpFinished_ |
| RealTimeManager * | real_time_ |
| std::string | interactive_type_ = "" |
| std::string | interactive_start_ = "" |
| std::string | replay_file_ = "" |
| InteractiveConsole * | interactive_ = nullptr |
| bool | enter_interactive_ = false |
| std::string | interactive_msg_ |
| SimTime_t | stop_at_ = 0 |
| uint32_t | next_link_order_tag_ = 1 |
| Core::OneShotManager | one_shot_manager_ |
| std::vector< std::pair< ComponentId_t, uint64_t > > | component_blob_offsets_ |
| vector to hold offsets of component blobs in checkpoint files | |
| pvt::TimeVortexSort | tv_sort_ |
| SST::Statistics::StatisticProcessingEngine | stat_engine |
| Statistics Engine. | |
| std::map< std::string, SST::Profile::ProfileTool * > | profile_tools |
| std::map< std::string, std::vector< std::string > > | profiler_map |
| uint64_t | clockDivisor = 1e6 |
| std::string | clockResolution = "us" |
| SimulationRunMode | runMode |
| SimTime_t | currentSimCycle = 0 |
| int | currentPriority = 0 |
| SimTime_t | endSimCycle = 0 |
| RankInfo | my_rank |
| RankInfo | num_ranks |
| std::string | output_directory |
| double | run_phase_start_time_ |
| double | run_phase_total_time_ |
| double | init_phase_start_time_ |
| double | init_phase_total_time_ |
| double | complete_phase_start_time_ |
| double | complete_phase_total_time_ |
| std::map< LinkId_t, Link * > | link_restart_tracking |
| std::map< uintptr_t, uintptr_t > | event_handler_restart_tracking |
| uint32_t | checkpoint_id_ = 0 |
| std::string | checkpoint_prefix_ = "" |
| std::string | globalOutputFileName = "" |
| std::string | version_ = "" |
| std::string | arch_ = "" |
| std::string | os_ = "" |
| bool | serial_restart_ = false |
Static Public Attributes | |
| static Factory * | factory |
| Factory used to generate the simulation components. | |
| static SST::Util::Filesystem | filesystem |
| Filesystem object that will be used to ensure all core-created files end up in the directory specified by –output-directory. | |
| static Core::ThreadSafe::Barrier | initBarrier |
| static Core::ThreadSafe::Barrier | completeBarrier |
| static Core::ThreadSafe::Barrier | setupBarrier |
| static Core::ThreadSafe::Barrier | runBarrier |
| static Core::ThreadSafe::Barrier | exitBarrier |
| static Core::ThreadSafe::Barrier | finishBarrier |
| static std::mutex | simulationMutex |
| static Util::BasicPerfTracker | basicPerf |
| static Core::ThreadSafe::Spinlock | cross_thread_lock |
| static std::map< LinkId_t, Link * > | cross_thread_links |
| static SimTime_t | minPart |
| static TimeConverter | minPartTC |
| static Exit * | m_exit |
| static std::string | checkpoint_directory_ = "" |
| static std::string | checkpoint_configgraph_ = "" |
| static std::atomic< int > | untimed_msg_count |
| static TimeLord | timeLord |
| TimeLord of the simulation. | |
| static Output | sim_output |
| Output. | |
| static std::unordered_map< std::thread::id, Simulation * > | instanceMap |
| static std::vector< Simulation * > | instanceVec_ |
| static Config | config |
| static StatsConfig * | stats_config_ = nullptr |
Friends | |
| class | Link |
| class | Action |
| class | Output |
| class | SyncManager |
| friend | int::main (int argc, char **argv) |
| void | wait_my_turn_start () |
| void | wait_my_turn_end () |
Main control class for a SST Simulation.
Provides base features for managing the simulation
| using SST::Simulation::clockMap_t = std::map<std::pair<SimTime_t, int>, Clock*> |
Map of times to clocks
| void SST::Simulation::checkpoint | ( | const std::string & | checkpoint_filename | ) |
Write the partition specific checkpoint data.
References component_blob_offsets_, filesystem, and SST::Util::Filesystem::ofstream().
| void SST::Simulation::checkpoint_append_registry | ( | const std::string & | registry_name, |
| const std::string & | blob_name ) |
Append partitions registry information.
References component_blob_offsets_, filesystem, getComponent(), SST::BaseComponent::getName(), and SST::Util::Filesystem::ofstream().
| void SST::Simulation::checkpoint_write_globals | ( | int | checkpoint_id, |
| const std::string & | checkpoint_filename, | ||
| const std::string & | registry_filename, | ||
| const std::string & | globals_filename ) |
Write the global data to a binary file and create the registry and write the header info.
References factory, filesystem, getElapsedSimTime(), SST::Output::getPrefix(), SST::Output::getVerboseLevel(), SST::Util::Filesystem::ofstream(), sim_output, timeLord, and SST::UnitAlgebra::toStringBestSI().
|
static |
Create new simulation.
| my_rank | - Parallel Rank of this simulation object |
| num_ranks | - How many Ranks are in the simulation |
| restart | - Whether this simulation is being restarted from a checkpoint (true) or not |
References initializeProfileTools().
|
static |
Emergency Shutdown Called when a fatal event has occurred.
Referenced by SST::Output::fatal().
| void SST::Simulation::endSimulation | ( | ) |
Normal Shutdown.
References endSimulation().
Referenced by SST::Action::endSimulation(), SST::Action::endSimulation(), and endSimulation().
| SimTime_t SST::Simulation::getClockForHandler | ( | Clock::HandlerBase * | handler | ) |
Gets the clock the handler is registered with, represented by it's factor.
| handler | Clock handler to search for |
|
inline |
returns the component with the given ID
Referenced by checkpoint_append_registry().
| SimTime_t SST::Simulation::getCurrentSimCycle | ( | ) | const |
Return the current simulation time as a cycle count.
Simulation functions.
Non-static functions
Referenced by SST::CheckpointAction::CheckpointAction(), SST::SimulatorHeartbeat::execute(), SST::InteractiveConsole::getCurrentSimCycle(), SST::RealTimeAction::getCurrentSimCycle(), SST::Statistics::StatisticOutput::getCurrentSimCycle(), getElapsedSimTime(), SST::Link::recv(), and SST::Exit::refDec().
| UnitAlgebra SST::Simulation::getElapsedSimTime | ( | ) | const |
Return the elapsed simulation time as a time.
References getCurrentSimCycle(), and timeLord.
Referenced by checkpoint_write_globals(), SST::SimulatorHeartbeat::execute(), SST::InteractiveConsole::getElapsedSimTime(), and SST::RealTimeAction::getElapsedSimTime().
| SimTime_t SST::Simulation::getEndSimCycle | ( | ) | const |
Return the end simulation time as a cycle count.
Referenced by SST::InteractiveConsole::getEndSimCycle(), SST::RealTimeAction::getEndSimCycle(), and getEndSimTime().
| UnitAlgebra SST::Simulation::getEndSimTime | ( | ) | const |
Return the end simulation time as a time.
References getEndSimCycle(), and timeLord.
Referenced by SST::InteractiveConsole::getEndSimTime(), and SST::RealTimeAction::getEndSimTime().
| 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.
|
inline |
Gets the next value for the order field of the link.
The ordering of events based on links will be based on the order that configureLink() is called.
|
inline |
Get the number of parallel ranks in the simulation.
Referenced by SST::IMPL::Interactive::DebugConsole::DebugConsole(), SST::InteractiveConsole::getNumRanks(), SST::RealTimeAction::getNumRanks(), SST::Statistics::StatisticOutput::getNumRanks(), and SST::CheckpointAction::insertIntoTimeVortex().
|
inline |
Returns the output directory of the simulation.
|
inline |
Get this instance's parallel rank.
Referenced by SST::IMPL::Interactive::DebugConsole::DebugConsole(), SST::InteractiveConsole::getRank(), SST::RealTimeAction::getRank(), and SST::Statistics::StatisticOutput::getRank().
Function used to get the rank for a link on restart.
A rank of -1 on the return means that the partitioning stayed the same between checkpoint and restart and the original rank info stored in the checkpoint should be used.
|
inlinestatic |
Return a pointer to the singleton instance of the Simulation.
Referenced by SST::Link::addRecvLatency(), SST::Link::addSendLatency(), SST::CheckpointAction::check(), SST::Event::clone(), SST::IMPL::Interactive::DebugConsole::DebugConsole(), SST::Action::endSimulation(), SST::Action::endSimulation(), SST::CheckpointAction::execute(), SST::SimulatorHeartbeat::execute(), SST::Event::generateUniqueId(), SST::InteractiveConsole::getCoreTimeBase(), SST::RealTimeAction::getCoreTimeBase(), SST::InteractiveConsole::getCurrentSimCycle(), SST::RealTimeAction::getCurrentSimCycle(), SST::Statistics::StatisticOutput::getCurrentSimCycle(), SST::Link::getDefaultTimeBase(), SST::InteractiveConsole::getElapsedSimTime(), SST::RealTimeAction::getElapsedSimTime(), SST::InteractiveConsole::getEndSimCycle(), SST::RealTimeAction::getEndSimCycle(), SST::InteractiveConsole::getEndSimTime(), SST::RealTimeAction::getEndSimTime(), SST::InteractiveConsole::getNumRanks(), SST::RealTimeAction::getNumRanks(), SST::Statistics::StatisticOutput::getNumRanks(), SST::InteractiveConsole::getRank(), SST::RealTimeAction::getRank(), SST::Statistics::StatisticOutput::getRank(), SST::InteractiveConsole::getSimulationOutput(), SST::RealTimeAction::getSimulationOutput(), SST::InteractiveConsole::getSyncQueueDataSize(), SST::RealTimeAction::getSyncQueueDataSize(), SST::InteractiveConsole::getTimeConverter(), SST::InteractiveConsole::getTimeVortexMaxDepth(), SST::RealTimeAction::getTimeVortexMaxDepth(), SST::Statistics::Statistic< void >::outputStatisticFields(), SST::RankSyncParallelSkip::RankSyncParallelSkip(), SST::RankSyncSerialSkip::RankSyncSerialSkip(), SST::Link::recv(), SST::Link::recvUntimedData(), SST::Exit::refDec(), SST::Statistics::StatisticProcessingEngine::registerStatisticWithEngine(), SST::Link::replaceFunctor(), SST::InteractiveConsole::schedule_interactive(), SST::Link::send_impl(), SST::Link::sendUntimedData(), SST::Link::setFunctor(), SST::RealTimeAction::simulationCheckpoint(), SST::RealTimeAction::simulationPrintStatus(), SST::RealTimeAction::simulationSignalShutdown(), and SST::IMPL::Interactive::DebugConsole::summary().
|
inline |
Get the run mode of the simulation (e.g.
init, run, both etc)
|
inlinestatic |
Return the base simulation Output class instance.
References sim_output.
Referenced by SST::CheckpointAction::CheckpointAction(), SST::Event::clone(), SST::SSTElementPythonModule::createPrimaryModule(), SST::SSTElementPythonModule::createPrimaryModule(), SST::SimulatorHeartbeat::execute(), SST::BaseComponent::getSimulationOutput(), SST::InteractiveConsole::getSimulationOutput(), SST::RealTimeAction::getSimulationOutput(), SST::Statistics::StatisticOutput::getSimulationOutput(), SST::Statistics::Statistic< void >::outputStatisticFields(), SST::Statistics::StatisticOutput::printUsage(), SST::Link::recv(), SST::Exit::refDec(), SST::Clock::registerHandler(), SST::Statistics::StatisticProcessingEngine::registerStatisticWithEngine(), SST::Link::replaceFunctor(), SST::Link::send_impl(), SST::Link::sendUntimedData(), and SST::Link::setFunctor().
| Statistics::StatisticProcessingEngine * SST::Simulation::getStatisticsProcessingEngine | ( | ) |
Return the Statistic Processing Engine associated with this Simulation.
References stat_engine.
|
inlinestatic |
Return the TimeLord associated with this Simulation.
References timeLord.
Referenced by SST::Link::addRecvLatency(), SST::Link::addSendLatency(), SST::Core::Serialization::ObjectMapFundamental< TimeConverter >::get(), SST::InteractiveConsole::getCoreTimeBase(), SST::RealTimeAction::getCoreTimeBase(), SST::BaseComponent::getCurrentSimTime(), SST::BaseComponent::getCurrentSimTimeMicro(), SST::BaseComponent::getCurrentSimTimeMilli(), SST::BaseComponent::getCurrentSimTimeNano(), SST::Link::getDefaultTimeBase(), SST::TimeConverter::getPeriod(), SST::InteractiveConsole::getTimeConverter(), SST::ConfigLink::latency_str(), minPartToTC(), SST::Statistics::StatisticProcessingEngine::registerStatisticWithEngine(), SST::BaseComponent::registerTimeBase(), SST::TimeConverter::TimeConverter(), and SST::TimeConverter::TimeConverter().
| void SST::Simulation::initializeProfileTools | ( | const std::string & | config | ) |
Performance Tracking Information.
References SST::Output::fatal(), SST::Params::insert(), and sim_output.
Referenced by createSimulation().
| void SST::Simulation::insertActivity | ( | SimTime_t | time, |
| Activity * | ev ) |
Insert an activity to fire at a specified time.
References SST::Activity::setDeliveryTime().
Referenced by SST::CheckpointAction::execute(), SST::SimulatorHeartbeat::execute(), SST::CheckpointAction::insertIntoTimeVortex(), SST::Exit::refDec(), and SST::InteractiveConsole::schedule_interactive().
| TimeConverter SST::Simulation::minPartToTC | ( | SimTime_t | cycles | ) | const |
Get a handle to a TimeConverter.
Simulation functions.
| cycles | Frequency which is the base of the TimeConverter |
References getTimeLord().
Referenced by processGraphInfo().
|
static |
Sets an internal flag for signaling the simulation.
Used by signal handler & thread 0.
| bool SST::Simulation::parseSignalString | ( | std::string & | arg, |
| std::string & | name, | ||
| Params & | params ) |
Helper for signal string parsing.
References SST::Output::fatal(), SST::Params::insert(), and sim_output.
Referenced by setupSimActions().
| 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(), and SST::Output::STDERR.
Referenced by SST::RealTimeAction::simulationPrintStatus().
| void SST::Simulation::processGraphInfo | ( | ConfigGraph & | graph, |
| const RankInfo & | myRank, | ||
| SimTime_t | min_part ) |
Processes the ConfigGraph to pull out any need information about relationships among the threads.
References SST::SparseVectorMap< keyT, classT >::begin(), SST::ConfigLink::component_, SST::SparseVectorMap< keyT, classT >::end(), SST::ConfigGraph::getComponentMap(), SST::ConfigGraph::getLinkMap(), SST::ConfigLink::getMinLatency(), minPartToTC(), and SST::ConfigLink::nonlocal_.
| TimeConverter SST::Simulation::registerClock | ( | const std::string & | freq, |
| Clock::HandlerBase * | handler, | ||
| int | priority ) |
Register a handler to be called on a set frequency.
References SST::TimeLord::getTimeConverter(), registerClock(), and timeLord.
Referenced by registerClock().
| void SST::Simulation::registerClock_restart | ( | SimTime_t | factor, |
| Clock::HandlerBase * | handler, | ||
| int | priority ) |
Register a clock on a restart.
References SST::Clock::registerHandler_restart().
| void SST::Simulation::requireLibrary | ( | const std::string & | name | ) |
Signifies that a library is required for this simulation.
| name | Name of the library |
References factory.
| 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.
|
inline |
Set the output directory for this simulation.
| outDir | Path of directory to place simulation outputs in |
| void SST::Simulation::setupSimActions | ( | ) |
Setup external control actions (forced stops, signal handling.
References SST::Factory::Create(), factory, SST::Output::fatal(), SST::Params::find(), SST::TimeLord::getSimCycles(), parseSignalString(), SST::Activity::setDeliveryTime(), sim_output, and timeLord.
|
static |
Used to signify the end of simulation.
Cleans up any existing Simulation Objects
| void SST::Simulation::signalShutdown | ( | bool | abnormal | ) |
Signal Shutdown Called when a signal needs to terminate SST E.g., SIGINT or SIGTERM has been seen abnormal indicates whether this was unexpected or not.
Referenced by SST::RealTimeAction::simulationSignalShutdown().
| void SST::Simulation::unregisterClock | ( | TimeConverter | tc, |
| Clock::HandlerBase * | handler, | ||
| int | priority ) |
Remove a clock handler from the list of active clock handlers.
References SST::TimeConverter::getFactor().
| std::vector<std::pair<ComponentId_t, uint64_t> > SST::Simulation::component_blob_offsets_ |
vector to hold offsets of component blobs in checkpoint files
Referenced by checkpoint(), and checkpoint_append_registry().
|
static |
Factory used to generate the simulation components.
Referenced by checkpoint_write_globals(), requireLibrary(), and setupSimActions().
|
static |
Filesystem object that will be used to ensure all core-created files end up in the directory specified by –output-directory.
Referenced by checkpoint(), checkpoint_append_registry(), checkpoint_write_globals(), SST::Core::JSONConfigGraphOutput::generate(), and SST::Statistics::StatisticOutput::getAbsolutePathForOutputFile().
|
static |
Referenced by checkpoint_write_globals(), getSimulationOutput(), initializeProfileTools(), parseSignalString(), and setupSimActions().
| SST::Statistics::StatisticProcessingEngine SST::Simulation::stat_engine |
Statistics Engine.
Referenced by getStatisticsProcessingEngine().
|
static |
TimeLord of the simulation.
Referenced by checkpoint_write_globals(), getElapsedSimTime(), getEndSimTime(), getTimeLord(), registerClock(), and setupSimActions().