Skip to main content

Getting Started

Scroll down to find resources for getting started with SST and navigating documentation.

Available simulation libraries

The SST team releases a set of simulation libraries with models for processors, networks, memory and cache, application proxies, and more called SST Elements. Many community developers also release open source models and tools.

Tutorials

This is a list of the tutorials available in these pages.

We also publish materials from in-person tutorials in SST's tutorial repository. Materials reflect SST's capabilities and APIs at the time they were published but general concepts covered in older materials are typically still accurate. Code may or may not work with more recent SST releases however.

Getting SST

Download the latest release or clone the github repositories. You will need sst-core (the simulation framework) and simulation libraries, typically sst-elements. When cloning repositories, use the master branch for greatest stability or the devel branch to get the very latest features. The master branch usually lags devel by a few days.

Dependencies

SST has two major dependencies: Python and OpenMPI. OpenMPI is optional but highly recommended. SST is tested with gcc and llvm (Linux) and clang (macOS). If you are installing from the github repositories, you will also need autotools installed. Consult the compatibility page for specific version information and see SST build prerequisites for the latest instructions on acquiring dependencies.

Building SST

If you have dependencies installed already, select your SST source below for quick-start instructions. For sst-macro, see the macro user manual.

$ git clone git@github.com:sstsimulator/sst-core
$ cd sst-core
$ ./autogen.sh
$ ./configure --prefix=<CORE_INSTALL_PATH>
$ make -j install

$ cd ..
$ git clone git@github.com:sstsimulator-sst-elements
$ ./autogen.sh
$ ./configure --prefix=<ELEM_INSTALL_PATH> --with-sst-core=<CORE_INSTALL_PATH>
$ make -j install

Running a simulation

See "How to Run SST". Information for specific types of simulations can be found in the element libraries documentation. Learn how to create configuration (input) files for SST here.

Creating new elements

Information on creating custom element libraries is located in the developer guide pages. The tutorial on creating a component is a good starting point. If you wish to share your elements, we welcome additions to the community page.

Additionally, the following example elements can be references.

Understanding SST

For SST terms see the Glossary. The concepts pages also have information on different aspects of SST.

Contributing to SST

To report bugs, use GitHub issues: sst-core, sst-elements, sst-macro. Contributions to SST repositories are done through pull requests. Review the SST Contributing Guide and Contributing to SST before submitting a pull request. To submit documentation improvements to this site or report issues, use the sst-docs repository.

Testing SST

SST's tests can be run locally by using the sst-test-core and sst-test-elements utilities. See Running SST Tests for details. To add new tests for existing or new elements, see Creating Test Suites and the Test Framework API.

License

SST is released under an open source license which can be found here.

Subscribing to SST Announcements

To receive announcements regarding SST go to the sst-announcements repository and click the "Watch" button.

Getting help

Use the GitHub Issues feature to ask questions or report an issue.

You can also contact SST Support for any other questions regarding SST.