Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Seissol first example to workflow #1

Merged
merged 30 commits into from
Jul 8, 2019
Merged
Show file tree
Hide file tree
Changes from 11 commits
Commits
Show all changes
30 commits
Select commit Hold shift + click to select a range
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -1,2 +1,3 @@
*.sw?

.idea
10 changes: 10 additions & 0 deletions .travis.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
---
dist: xenial
language: python
python: 3.7
services: docker
install:
- git clone https://github.com/systemslab/popper /tmp/popper
- export PYTHONUNBUFFERED=1
- pip install /tmp/popper/cli
script: popper run
31 changes: 31 additions & 0 deletions actions/seissol/Dockerfile
Original file line number Diff line number Diff line change
@@ -0,0 +1,31 @@
FROM debian:buster-slim

ENV DEBIAN_FRONTEND=noninteractive

RUN apt update && \
apt install -y \
curl git \
build-essential gfortran cmake \
libeigen3-dev \
libopenmpi-dev \
libhdf5-dev libhdf5-mpi-dev \
libnetcdf-dev libnetcdf-mpi-dev \
virtualenv && \
virtualenv -p python3 /scons && \
bash -c 'source /scons/bin/activate && pip install numpy>=1.12.0 lxml scons' && \
rm -rf /var/lib/apt/lists/*

# install libxsmm
RUN curl -LO https://github.com/hfp/libxsmm/archive/master.tar.gz && \
tar xvfz master.tar.gz && \
cd libxsmm-master && \
make generator && \
cp bin/libxsmm_gemm_generator /usr/bin && \
cd / && \
rm -rf libxsmm-master /var/lib/apt/lists/*

ENV CPATH=/usr/lib/x86_64-linux-gnu/netcdf/mpi/include

ADD entrypoint.sh /

ENTRYPOINT ["/entrypoint.sh"]
13 changes: 13 additions & 0 deletions actions/seissol/entrypoint.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
#!/bin/bash
set -e

source /scons/bin/activate

if [ ! -d "seissol" ]; then
echo "Expecting seissol/ folder"
exit 1
fi

cd seissol/

scons "$@"
2 changes: 1 addition & 1 deletion seissol
12 changes: 12 additions & 0 deletions workflows/scc18/main.workflow
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
workflow "scc 18" {
resolves = "download"
}

action "download" {
uses = "popperized/zenodo/download@master"
env = {
ZENODO_RECORD_ID = "439946"
ZENODO_OUTPUT_PATH = "./workflows/scc18/zenodo-files"
ivotron marked this conversation as resolved.
Show resolved Hide resolved
ZENODO_FILES="parameters.par"
}
}
31 changes: 31 additions & 0 deletions workflows/tpv33/main.workflow
Original file line number Diff line number Diff line change
@@ -0,0 +1,31 @@
workflow "containers" {
on = "push"
resolves = "execute"
}

action "build and test" {
ivotron marked this conversation as resolved.
Show resolved Hide resolved
uses = "./actions/seissol"
args = [
"compileMode=release",
"order=6",
"parallelization=hybrid",
"netcdf=yes",
"hdf5=yes",
"commThread=yes",
"compiler=gcc",
"unitTests=fast",
"-j8",
]
}
ivotron marked this conversation as resolved.
Show resolved Hide resolved

action "download files"{
needs = "build and test"
uses = "./actions/seissol"
runs = ["sh", "-c", "workflows/tpv33/scripts/download.sh"]
}

action "execute"{
needs = "download files"
uses = "./actions/seissol"
runs = ["sh", "-c","workflows/tpv33/scripts/execute.sh"]
}
15 changes: 15 additions & 0 deletions workflows/tpv33/scripts/download.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
#!/usr/bin/env bash
set -e

mkdir -p workflows/tpv33/tpv33-files
curl -o workflows/tpv33/tpv33-files/tpv33_gmsh.xdmf https://syncandshare.lrz.de/dl/fiEi52Xiwwqkf2sNpTrCHjhw/tpv33_gmsh.xdmf
curl -o workflows/tpv33/tpv33-files/Examples.tar.gz "https://codeload.github.com/SeisSol/Examples/tar.gz/master"
curl -o workflows/tpv33/tpv33-files/tpv33_gmsh https://syncandshare.lrz.de/dl/fi72mQiszp6vSs7qN8tdZJf9/tpv33_gmsh

tar -xzf workflows/tpv33/tpv33-files/Examples.tar.gz -C workflows/tpv33/tpv33-files

mkdir -p seissol/launch_SeisSol
cp workflows/tpv33/tpv33-files/tpv33_gmsh* seissol/launch_SeisSol
cp seissol/build/SeisSol_release_generatedKernels_dnoarch_hybrid_none_9_6 seissol/launch_SeisSol/
cp workflows/tpv33/tpv33-files/Examples-master/tpv33/* seissol/launch_SeisSol
echo $PWD/Maple/ > seissol/launch_SeisSol/DGPATH
4 changes: 4 additions & 0 deletions workflows/tpv33/scripts/execute.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
#!/usr/bin/env bash

cd seissol/launch_SeisSol
OMP_NUM_THREADS=1 mpiexec --allow-run-as-root --oversubscribe -np 1 ./SeisSol_release_generatedKernels_dnoarch_hybrid_none_9_6 parameters_tpv33_master.par