Update SST-Spatter documentation #12
Workflow file for this run
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
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 |