SST Elements and Other Directories

The SST core requires at least one element to perform a simulation. As a stand-alone entity, the core fulfills no purpose. This wiki page collects in one place the available elements and tools that interface with SST. The purpose is to describe each directory in the SST source tree and to provide a definitive list of supported elements.

SST Core

The following provides information on the SST Core. The table below provides links to the information on various aspects of the core.

SST Core Information
Output Class

SST Support Tools

The following provides information on SST support Tools. The table below provides links to the information on various aspects of these tools.

Tool Information
SSTWorkbench Note: Workbench is only supported by SST V4.x - V6.x

Internal Elements

The root directory of SST-Elements contains a number of subdirectories. Most of the subdirectories are used for the build process and should not be modified. The root/src/sst/elements subdirectory contains the code for elements, interfaces to external components, support directories and test/example directories. The following table is ordered by directory name, so that it can be associated with the relevant SST source code. The Role column identifies the directories that contain component models, with the EML column identify the maturity level of each element according to the SST Element Maturity scale.

Element Name Role EML Description
ariel Element 1 Prototype PIN-based Memory Tracing component which does not require initial trace capture (in-development)
Balar Element 1 GPU component based on GPGPU-Sim
cacheTracer Element 0 Cache Tracing Element (Formally was simpleTracerComponent)
cassini Element/module 1 Simulation modules for uncore non-cache processor components including prefetching logic and branch predictors
Cramsim Element 0 Cramsim memory bankend simulator from IBM
ember Element 0  
firefly Element 0 Implements a low level communication protocol and data movement layer connecting to network hardware simulation components such as the Merlin router
GNA Element 0 GNA Element.
hermes interface 0 Provides an interface to message passing functions allowing multiple driving components to utilize the simulation of network operations in a standardized manner
kingsley Element 0 Kingsley Element
memHierarchy Element 2 Simulates a flexible memory hierarchy, including caches and memory controllers (links to DRAMSim and VaultSim). Cache coherency, based on either a snoopy-based scheme or directory-based scheme is supported as well. Uses the standard interface “MemEvent” for interfacing with other components.
merlin Element 1 Router model with flexible topology modules to simulate networks. Also includes a stub module with which other components can build NIC models that interact with Merlin.
Messier Element 0 Provides a detailed model for NVM-based DIMMs with high-end internal controller. It enables studying the impact of future emerging NVMs on the performance.
miranda Element 1 Miranda Element.
prospero Element 1 Reads a trace and generates standard memEvents which can then be passed onto the memHierarchy cache/memory models. There is also a simple trace tool which runs under the PIN binary instrumentation framework to capture a memory trace. It is possible to trace only a specific function (rather than a whole application) using this tool to reduce the simulation pressure.
Samba Element 0 Provides a detailed model for memory management unit (MMU), with flexibility to vary the page sizes, TLB sizes, page table walk caches, number of levels, etc.
shogun Element 2 Provides a simple crossbar model
simpleElementExample Element 2 Demo Element and Components
simpleSimulation Element 0 Demo Simulation
thornhill Element 0 Thornhill Element
vanadis Element 0 RISC-V CPU core
VaultSimC Element 0 VaultSim Element
zodiac Element 0 Zodiac Element

Back to top

External Dependencies

The following open source components have interfaces to SST. The table below provides links to the primary web site and to the source location.

External Component Software location
Ramulator Download
HBM DRAMSim2 Download
Goblin HMCSim Download
DRAMSim2 Download
DRAMsim3 Download
NVDIMMSim Download
HybridSim Download
HDF5 Download
Zoltan Download
CUDA SDK Download
sst-gpgpusim-external Download
musl Download
PINTOOL Download

Back to top