Skip to content

Update SST-Spatter documentation #12

Update SST-Spatter documentation

Update SST-Spatter documentation #12

Workflow file for this run

name: Build and Run
on:
push:
branches:
- master
pull_request:
branches:
- master
env:
SST_VERSION: 14.1.0
concurrency:
group: ci-${{github.ref}}-${{github.event.pull_request.number || github.run_number}}
cancel-in-progress: true
jobs:
build-and-run:
runs-on: ubuntu-latest
steps:
- name: Checkout SST Spatter
uses: actions/checkout@v4
with:
path: sst-spatter
- name: Install autogen.sh dependencies
uses: awalsh128/cache-apt-pkgs-action@latest
with:
packages: libtool-bin libltdl-dev
version: 1.0
- name: Update PATH environment variable
run : |
echo "$HOME/local/sstcore-${SST_VERSION}/bin" >> $GITHUB_PATH
- name: Restore SST Core cache
id: cache-sst-core-restore
uses: actions/cache/restore@v4
with:
path: ~/local/sstcore-${{ env.SST_VERSION }}
key: cache-sst-core-${{ env.SST_VERSION }}
- name: Restore SST Elements cache
id: cache-sst-elements-restore
uses: actions/cache/restore@v4
with:
path: ~/local/sstelements-${{ env.SST_VERSION }}
key: cache-sst-elements-${{ env.SST_VERSION }}
- name: Download SST Core
if: steps.cache-sst-core-restore.outputs.cache-hit != 'true'
run: |
wget https://github.com/sstsimulator/sst-core/releases/download/v${SST_VERSION}_Final/sstcore-${SST_VERSION}.tar.gz
mkdir -p sstcore-${SST_VERSION}
tar xfz sstcore-${SST_VERSION}.tar.gz -C sstcore-${SST_VERSION} --strip-components=1
- name: Install SST Core
if: steps.cache-sst-core-restore.outputs.cache-hit != 'true'
working-directory: sstcore-${{ env.SST_VERSION }}
run: |
./configure --prefix=${HOME}/local/sstcore-${SST_VERSION} --disable-mpi
make -j$(nproc) all; make install
- name: Download SST Elements
if: steps.cache-sst-elements-restore.outputs.cache-hit != 'true'
run: |
wget https://github.com/sstsimulator/sst-elements/archive/refs/tags/v${SST_VERSION}_Final.tar.gz -O sstelements-${SST_VERSION}.tar.gz
mkdir -p sstelements-${SST_VERSION}
tar xfz sstelements-${SST_VERSION}.tar.gz -C sstelements-${SST_VERSION} --strip-components=1
- name: Ignore unused elements
if: steps.cache-sst-elements-restore.outputs.cache-hit != 'true'
working-directory: sstelements-${{ env.SST_VERSION }}
run: |
for element in src/sst/elements/*/; do
if [[ ! "${element}" == *"memHierarchy/" ]]; then
cd ${GITHUB_WORKSPACE}/sstelements-${SST_VERSION}/${element}
touch .ignore
fi
done
- name: Install SST Elements
if: steps.cache-sst-elements-restore.outputs.cache-hit != 'true'
working-directory: sstelements-${{ env.SST_VERSION }}
run: |
./autogen.sh
./configure --prefix=${HOME}/local/sstelements-${SST_VERSION} \
--with-sst-core=${HOME}/local/sstcore-${SST_VERSION}
make -j$(nproc) all; make install
- name: Save SST Core cache
if: steps.cache-sst-core-restore.outputs.cache-hit != 'true'
uses: actions/cache/save@v4
with:
path: ~/local/sstcore-${{ env.SST_VERSION }}
key: ${{ steps.cache-sst-core-restore.outputs.cache-primary-key }}
- name: Save SST Elements cache
if: steps.cache-sst-elements-restore.outputs.cache-hit != 'true'
uses: actions/cache/save@v4
with:
path: ~/local/sstelements-${{ env.SST_VERSION }}
key: ${{ steps.cache-sst-elements-restore.outputs.cache-primary-key }}
- name: Checkout Spatter
uses: actions/checkout@v4
with:
repository: hpcgarage/spatter
ref: spatter-devel
path: spatter
- name: Build Spatter
working-directory: spatter
run: |
cmake -B build_serial -S .
make -j$(nproc) -C build_serial
- name: Build SST Spatter
working-directory: sst-spatter
run: |
./autogen.sh
./configure --prefix=${HOME}/local/packages/sstspatter \
--with-sst-core=${HOME}/local/sstcore-${SST_VERSION} \
--with-spatter=${GITHUB_WORKSPACE}/spatter/build_serial
make -j$(nproc) all; make install
- name: Run SST Spatter
working-directory: sst-spatter
run: |
sst tests/sst_spatter_spr.py -- -p UNIFORM:8:1