12#ifndef SST_CORE_INTERACTIVE_CONSOLE_H
13#define SST_CORE_INTERACTIVE_CONSOLE_H
15#include "sst/core/action.h"
16#include "sst/core/config.h"
17#include "sst/core/cputimer.h"
18#include "sst/core/eli/elementinfo.h"
19#include "sst/core/output.h"
20#include "sst/core/rankInfo.h"
21#include "sst/core/sst_types.h"
22#include "sst/core/threadsafe.h"
23#include "sst/core/unitAlgebra.h"
35namespace Interactive {
45class InteractiveConsole
49 SST_ELI_DECLARE_BASE(InteractiveConsole)
58 InteractiveConsole() = default;
59 virtual ~InteractiveConsole() = default;
62 virtual
void execute(const std::
string& msg) = 0;
125 SST::Core::Serialization::
ObjectMap* getComponentObjectMap();
128 InteractiveConsole(const InteractiveConsole&) = delete;
129 InteractiveConsole& operator=(const InteractiveConsole&) = delete;
134#ifndef SST_ELI_REGISTER_INTERACTIVE_CONSOLE
135#define SST_ELI_REGISTER_INTERACTIVE_CONSOLE(cls, lib, name, version, desc) \
136 SST_ELI_REGISTER_DERIVED(SST::InteractiveConsole,cls,lib,name,ELI_FORWARD_AS_ONE(version),desc)
Main component object for the simulation.
Definition component.h:31
Base class for objects created by the serializer mapping mode used to map the variables for objects.
Definition objectMap.h:112
Output & getSimulationOutput() const
Return the base simulation Output class instance.
Definition interactiveConsole.cc:71
RankInfo getRank() const
Get this instance's parallel rank.
Definition interactiveConsole.cc:59
UnitAlgebra getEndSimTime() const
Return the end simulation time as a time.
Definition interactiveConsole.cc:53
void getComponentList(std::vector< std::pair< std::string, SST::Component * > > &vec)
Get the list of Components.
void simulationRun(SimTime_t time)
Runs the simulation the specified number of core time base units.
UnitAlgebra getElapsedSimTime() const
Return the elapsed simulation time as a time.
Definition interactiveConsole.cc:41
void schedule_interactive(SimTime_t time_offset, const std::string &msg)
Schedules the action for execution at the current simulation time plus time_offset.
Definition interactiveConsole.cc:101
virtual void execute(const std::string &msg)=0
Called by TimeVortex to trigger checkpoint on simulation clock interval - not used in parallel simula...
uint64_t getTimeVortexMaxDepth() const
Return the max depth of the TimeVortex.
Definition interactiveConsole.cc:77
SST_ELI_DECLARE_INFO_EXTERN(ELI::ProvidesParams) InteractiveConsole()=default
Create a new checkpoint object for the simulation core to initiate checkpoints.
RankInfo getNumRanks() const
Get the number of parallel ranks in the simulation.
Definition interactiveConsole.cc:65
TimeConverter * getTimeConverter(const std::string &time)
Get a TimeConverter.
Definition interactiveConsole.cc:95
SimTime_t getCurrentSimCycle() const
Return the current simulation time as a cycle count.
Definition interactiveConsole.cc:35
UnitAlgebra getCoreTimeBase() const
Get the core timebase.
Definition interactiveConsole.cc:29
uint64_t getSyncQueueDataSize() const
Return the size of the SyncQueue - per-rank.
Definition interactiveConsole.cc:89
SimTime_t getEndSimCycle() const
Return the end simulation time as a cycle count.
Definition interactiveConsole.cc:47
void getMemPoolUsage(int64_t &bytes, int64_t &active_entries)
Return MemPool usage information - per-rank.
Definition interactiveConsole.cc:83
Output object provides consistent method for outputting data to stdout, stderr and/or sst debug file.
Definition output.h:54
Parameter store.
Definition params.h:58
Main control class for a SST Simulation.
Definition simulation_impl.h:87
A class to convert between a component's view of time and the core's view of time.
Definition timeConverter.h:28
Performs Unit math in full precision.
Definition unitAlgebra.h:107