16#ifndef SST_CORE_CORETEST_COMPONENT_H
17#define SST_CORE_CORETEST_COMPONENT_H
19#include "sst/core/component.h"
20#include "sst/core/link.h"
21#include "sst/core/rng/marsaglia.h"
24namespace CoreTestComponent {
35 SST_ELI_DOCUMENT_PARAMS(
36 {
"workPerCycle",
"Count of busy work to do during a clock tick.", NULL}
39 SST_ELI_DOCUMENT_STATISTICS(
40 {
"N",
"events sent on N link",
"counts", 1 }
43 SST_ELI_DOCUMENT_PORTS(
44 {
"Nlink",
"Link to the coreTestComponent to the North", {
"coreTestComponent.coreTestComponentEvent",
"" } }
47 SST_ELI_DOCUMENT_ATTRIBUTES(
48 {
"test_element",
"true" }
58 SST_ELI_REGISTER_COMPONENT_DERIVED_BASE(
61 SST_ELI_DOCUMENT_PARAMS(
62 {
"commFreq",
"Approximate frequency of sending an event during a clock tick.", NULL},
65 SST_ELI_DOCUMENT_STATISTICS(
66 {
"S",
"events sent on S link",
"counts", 1 }
69 SST_ELI_DOCUMENT_PORTS(
70 {
"Slink",
"Link to the coreTestComponent to the South", {
"coreTestComponent.coreTestComponentEvent",
"" } }
81 SST_ELI_REGISTER_COMPONENT(
85 SST_ELI_ELEMENT_VERSION(1,0,0),
86 "CoreTest Test Component",
87 COMPONENT_CATEGORY_PROCESSOR
90 SST_ELI_DOCUMENT_PARAMS(
91 {
"commSize",
"Size of communication to send.",
"16"}
94 SST_ELI_DOCUMENT_STATISTICS(
95 {
"E",
"events sent on E link",
"counts", 1 },
96 {
"W",
"events sent on W link",
"counts", 1 }
99 SST_ELI_DOCUMENT_PORTS(
100 {
"Elink",
"Link to the coreTestComponent to the East", {
"coreTestComponent.coreTestComponentEvent",
"" } },
101 {
"Wlink",
"Link to the coreTestComponent to the West", {
"coreTestComponent.coreTestComponentEvent",
"" } }
105 SST_ELI_DOCUMENT_SUBCOMPONENT_SLOTS(
112 void finish() { printf(
"Component Finished.\n"); }
120 virtual bool clockTic(SST::Cycle_t);
Main component object for the simulation.
Definition: component.h:31
Definition: coreTest_Component.h:56
Definition: coreTest_Component.h:31
Definition: coreTest_Component.h:78
void setup()
Called after all components have been constructed and initialization has completed,...
Definition: coreTest_Component.h:111
void finish()
Called after complete phase, but before objects are destroyed.
Definition: coreTest_Component.h:112
Base class for Events - Items sent across links to communicate between components.
Definition: event.h:35
Link between two components.
Definition: link.h:38
Parameter store.
Definition: params.h:56
Implements a random number generator using the Marsaglia method.
Definition: marsaglia.h:41
Forms the template defined base class for statistics gathering within SST.
Definition: statbase.h:361