12 #ifndef SST_CORE_CORETEST_CHECKPOINT_H 13 #define SST_CORE_CORETEST_CHECKPOINT_H 15 #include "sst/core/component.h" 16 #include "sst/core/event.h" 17 #include "sst/core/link.h" 18 #include "sst/core/rng/distrib.h" 19 #include "sst/core/rng/rng.h" 22 namespace CoreTestCheckpoint {
39 if ( counter != 0 ) counter--;
43 uint32_t getCount() {
return counter; }
50 Event::serialize_order(ser);
61 SST_ELI_REGISTER_COMPONENT(
65 SST_ELI_ELEMENT_VERSION(1,0,0),
66 "CoreTest Test Checkpoint",
67 COMPONENT_CATEGORY_UNCATEGORIZED
70 SST_ELI_DOCUMENT_PARAMS(
71 {
"starter",
"Whether this component initiates the ping-pong",
"T"},
72 {
"count",
"Number of times to bounce the message back and forth",
"1000" },
73 {
"test_string",
"A test string",
""},
74 {
"clock_frequency",
"Frequency for clock",
"100kHz"},
75 {
"clock_duty_cycle",
"Number of cycles to keep clock on and off",
"10"},
77 {
"output_prefix",
"Prefix for output",
""},
78 {
"output_verbose",
"Verbosity for output",
"0"},
80 {
"rng_seed_w",
"The first seed for marsaglia",
"7" },
81 {
"rng_seed_z",
"The second seed for marsaglia",
"5" },
82 {
"rng_seed",
"The seed for mersenne and xorshift",
"11" },
83 {
"dist_const",
"Constant for ConstantDistribution",
"1.5" },
84 {
"dist_discrete_probs",
"Probabilities in discrete distribution",
"[1.0]"},
85 {
"dist_exp_lambda",
"Lambda for exponentional distribution",
"1.0"},
86 {
"dist_gauss_mean",
"Mean for Gaussian distribution",
"1.0"},
87 {
"dist_gauss_stddev",
"Standard deviation for Gaussian distribution",
"0.2"},
88 {
"dist_poisson_lambda",
"Lambda for Poisson distribution",
"1.0"},
89 {
"dist_uni_bins",
"Number of proability bins for the uniform distribution",
"4"}
92 SST_ELI_DOCUMENT_PORTS(
93 {
"port",
"Link to the other coreTestCheckpoint", {
"coreTestElement.coreTestCheckpointEvent",
"" } }
99 void setup()
override;
103 void printStatus(
Output& out)
override;
112 bool handleClock(Cycle_t cycle);
120 int duty_cycle_count;
122 std::string test_string;
139 #endif // SST_CORE_CORETEST_CHECKPOINT_H Output object provides consistent method for outputting data to stdout, stderr and/or sst debug file...
Definition: output.h:53
Implements the base class for random number generators for the SST core.
Definition: rng.h:29
This class is basically a wrapper for objects to declare the order in which their members should be s...
Definition: serializer.h:35
Handlers with 1 handler defined argument to callback from caller.
Definition: ssthandler.h:210
A class to convert between a component's view of time and the core's view of time.
Definition: timeConverter.h:27
Main component object for the simulation.
Definition: component.h:30
Definition: coreTest_Checkpoint.h:28
Definition: coreTest_Checkpoint.h:58
void setup() override
Called after all components have been constructed and initialization has completed, but before simulation time has begun.
Definition: coreTest_Checkpoint.cc:91
Parameter store.
Definition: params.h:55
void finish() override
Called after complete phase, but before objects are destroyed.
Definition: coreTest_Checkpoint.cc:98
Base class of statistical distributions in SST.
Definition: distrib.h:24
Base class for Events - Items sent across links to communicate between components.
Definition: event.h:34
Link between two components.
Definition: link.h:50