Quick Start Guide for SST 6.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 6.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: Building SST can sometimes be cumbersome and error prone due to the sheer number of combinations of operating systems, compiler versions and external required components. 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 6.0.x and SST-Elements 6.0.x tarfiles from the SST Downloads Page

  2. Extract each tarfile to a unique development directory (i.e. $HOME/mysst/sst-core & $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 a very simple simulation
$ sst <Path to SST-Elements Source Directory>/src/sst/elements/simpleElementExample/tests/test_simpleRNGComponent_mersenne.py

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-6.0.0 
              --with-boost=$HOME/local/packages/boost-1.56 
              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-6.0.0 
              --with-sst-core=$HOME/local/sstcore-6.0.0 

Other Build Information