Quick Start Guide for SST 12.0.x

Welcome to SST

SST is an open source, cross platform simulation platform that provides a framework to connect multiple simulated hardware objects including CPUs, network, memory, etc. Simulations using the toolkit can be run either single node, or run on multiple nodes via MPI. The toolkit provides a parallel discrete event core as well as several programming interfaces including classes to manage random number generation, statistics handling, simulation output and efficient memory pooling for simulation events. The most recent performance evaluation has shown that SST can scale to simulate beyond 1.5M objects and operate efficiently on simulations up to 128 dual-processor nodes.

This quick start guide is intended to get the user up and running with SST as quickly as possible. It is intended for users with intermediate knowledge in the operation of Unix/Linux/OSX environments.

It is strongly recommend that new users refer to the Detailed SST Build and Install Instructions when building SST for the first time.

The SST 12.0.x Release Notes identify what operating systems, compiler and external component combinations have been tested and proven to work with this version of SST.

NOTE: Using combinations other than what is identified in the Release Notes may cause build failures and/or unexpected results.

A detailed list of elements provided with the SST distribution are available at SST Element Summary and SST Element Release Matrix.

If you encounter difficulties, refer to the Detailed SST Build and Install Instructions or go to the SST Support page

NOTE: SST has many configuration options and optional dependencies which, combined, can make building error prone. It is STRONGLY recommended that new users follow the detailed description of how to build SST and its external component dependancies referenced at Detailed SST Build and Install Instructions.

Building SST External Components

SST has a number of external components that are required to be installed on the users machine before building SST. These components are identified in the Release Notes.

Building and Installing SST

Basic Build and Install

  1. Obtain SST-Core 12.0.x and SST-Elements 12.0.x tarfiles from the SST Downloads Page

  2. Extract each tarfile to a unique development directory (i.e. $HOME/mysst/sst-core and $HOME/mysst/sst-elements).

  3. Change directory to the SST-Core development directory.
    $ cd $HOME/mysst/sst-core
    
  4. Configure SST-Core
    $ ./configure <configure options defined below>
    
  5. Compile SST-Core
    $ make
    
  6. Install SST-Core
    $ make install
    
  7. Change directory to the SST-Elements development directory.
    $ cd $HOME/mysst/sst-elements
    
  8. Configure SST-Elements
    $ ./configure <configure options defined below>
    
  9. Compile SST-Elements
    $ make
    
  10. Install SST-Elements
    $ make install
    
  11. Verify SST Operation with a very simple sanity test (Note: Path to sst executable must be properly setup.)
    $ sst --version
    
  12. Run the tests
$ sst-test-core
$ sst-test-elements (NOTE: This will take a long time to run. Try 'sst-test-elements -w "*simpleComponents*"' for a shorter test.)

SST-Core Configuration Options

All available configuration options for SST-Core can be displayed using $ ./configure –help

Some commonly used options for SST-Core are:

An Example SST-Core configuration:

$ ./configure --prefix=$HOME/local/sstcore-12.0.1
              CC=`which gcc` CXX=`which g++` MPICC=`which mpicc` MPICXX=`which mpicxx`

SST-Elements Configuration Options

All available configuration options for SST-Elements can be displayed using $ ./configure –help

Some commonly used options for SST-Elements are:

An Example SST-Elements configuration:

$ ./configure --prefix=$HOME/local/sstelements-12.0.1
              --with-sst-core=$HOME/local/sstcore-12.0.1

Other Build Information