Installing SST

The links to download SST source code are available here []. This guide is using the most recent SST version (11.0.0) as of September 2021. The following guide assumes $SST_CORE_HOME as the location where SST will be installed.


Downloading the SST-Core Source Code

tar xf sstcore-11.1.0.tar.gz

Installing SST-Core

cd sstcore-11.1.0
./configure --prefix=$SST_CORE_HOME --with-python=/usr/bin/python3-config \
            --disable-mpi # optional, used when MPI is not available.
make all -j$(nproc)
make install

Update PATH,



Downloading the SST-Elements Source Code

tar xf sstelements-11.1.0.tar.gz

Installing SST-Elements

cd sst-elements-library-11.1.0
./configure --prefix=$SST_CORE_HOME --with-python=/usr/bin/python3-config \
make all -j$(nproc)
make install

Adding PKG_CONFIG_PATH to .bashrc (so pkg-config can find SST .pc file),

echo "export PKG_CONFIG_PATH=$PKG_CONFIG_PATH:$SST_CORE_HOME/lib/pkgconfig/" >> ~/.bashrc

Building gem5 library

At the root of gem5 folder,

scons build/RISCV/ -j $(nproc) --without-tcmalloc

Compiling the SST integration

At the root of gem5 folder,

cd ext/sst

Running an example simulation

Running the simulation

sst --add-lib-path=./ sst/

The example SST system configuration will instantiate the gem5 system as specified in the gem5 system configuration located at gem5/configs/example/sst/ This configuration will download the bbl-busybox-boot-exit resource, which contains an m5 binary, and m5 exit will be called upon the booting process reaching the early userspace. More information about building a bootloader containing a Linux Kernel and a customized workload is available at [].