From dbdda28f4f61674c8ecaa26f1240620a9b850d65 Mon Sep 17 00:00:00 2001 From: Jayjeet Chakraborty Date: Fri, 24 Apr 2020 23:06:08 +0530 Subject: [PATCH 01/11] Add wf.yml to the containerized version --- workflows/containerized/main.workflow | 2 +- workflows/containerized/main.yml | 30 +++++++++++++++++++++++++++ 2 files changed, 31 insertions(+), 1 deletion(-) create mode 100644 workflows/containerized/main.yml diff --git a/workflows/containerized/main.workflow b/workflows/containerized/main.workflow index 837ba74..7df21d6 100644 --- a/workflows/containerized/main.workflow +++ b/workflows/containerized/main.workflow @@ -41,7 +41,7 @@ action "run" { action "validate" { needs = "run" - uses = "actions/bin/sh@master" + uses = "popperized/bin/sh@master" runs = "./workflows/containerized/scripts/validate.sh" } diff --git a/workflows/containerized/main.yml b/workflows/containerized/main.yml new file mode 100644 index 0000000..db82b44 --- /dev/null +++ b/workflows/containerized/main.yml @@ -0,0 +1,30 @@ +version: 1 +steps: +- id: build + uses: ./workflows/containerized/actions/normalmodes + runs: ./workflows/containerized/scripts/build.sh + env: + PEVSL_MAKEFILE_IN: ./workflows/containerized/makeconf/pEVSL_mkl.in + NORMALMODES_MAKEFILE_IN: ./workflows/containerized/makeconf/NormalModes_mkl.in + NUM_BUILD_JOBSL: 1 + +- id: test + uses: ./workflows/containerized/actions/normalmodes + runs: [ + "sh", "-c", + "cd ./submodules/pEVSL/TESTS/Lap/ && mpirun --allow-run-as-root -np 1 ./LapPLanN.ex -n 400 ./LapPLanN.ex -nx 20 -ny 20 -nz 20 -nslices 5 -a 0.6 -b 1.2"] + +- id: run + uses: ./workflows/containerized/normalmodes + runs: ./workflows/containerized/scripts/run.sh + env: + MPI_NUM_PROCESSES: 1 + INPUT_DIR: submodules/NormalModes/demos/ + +- id: validate + needs: popperized/bin/sh@master + runs: ./workflows/containerized/scripts/validate.sh + +- id: generate vtk + needs: docker://popperized/octave:4.4 + args: ./workflows/containerized/scripts/visualCmain.m From c1c10bd0e1a7f51f40157664bc69663c11271ab0 Mon Sep 17 00:00:00 2001 From: Jayjeet Chakraborty Date: Sat, 25 Apr 2020 00:18:06 +0530 Subject: [PATCH 02/11] Typo fix --- workflows/containerized/main.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/workflows/containerized/main.yml b/workflows/containerized/main.yml index db82b44..06c5d83 100644 --- a/workflows/containerized/main.yml +++ b/workflows/containerized/main.yml @@ -22,9 +22,9 @@ steps: INPUT_DIR: submodules/NormalModes/demos/ - id: validate - needs: popperized/bin/sh@master + uses: popperized/bin/sh@master runs: ./workflows/containerized/scripts/validate.sh - id: generate vtk - needs: docker://popperized/octave:4.4 + uses: docker://popperized/octave:4.4 args: ./workflows/containerized/scripts/visualCmain.m From 1aac434185115503695c2951f8174af51a69938f Mon Sep 17 00:00:00 2001 From: noobjc Date: Sat, 25 Apr 2020 07:49:26 -0600 Subject: [PATCH 03/11] Rename main.yml to wf.yml and add conf_host.yml --- workflows/containerized/conf_host.yml | 7 +++++++ workflows/containerized/{main.yml => wf.yml} | 2 +- 2 files changed, 8 insertions(+), 1 deletion(-) create mode 100644 workflows/containerized/conf_host.yml rename workflows/containerized/{main.yml => wf.yml} (97%) diff --git a/workflows/containerized/conf_host.yml b/workflows/containerized/conf_host.yml new file mode 100644 index 0000000..ca212b1 --- /dev/null +++ b/workflows/containerized/conf_host.yml @@ -0,0 +1,7 @@ +engine: + name: docker + options: + privileged: True + +resource_manager: + name: host diff --git a/workflows/containerized/main.yml b/workflows/containerized/wf.yml similarity index 97% rename from workflows/containerized/main.yml rename to workflows/containerized/wf.yml index 06c5d83..6f67d9d 100644 --- a/workflows/containerized/main.yml +++ b/workflows/containerized/wf.yml @@ -6,7 +6,7 @@ steps: env: PEVSL_MAKEFILE_IN: ./workflows/containerized/makeconf/pEVSL_mkl.in NORMALMODES_MAKEFILE_IN: ./workflows/containerized/makeconf/NormalModes_mkl.in - NUM_BUILD_JOBSL: 1 + NUM_BUILD_JOBS: 1 - id: test uses: ./workflows/containerized/actions/normalmodes From 50093830657a00508c6636157bcf39af3ecd6ca3 Mon Sep 17 00:00:00 2001 From: Jayjeet Chakraborty Date: Sat, 25 Apr 2020 22:34:53 +0530 Subject: [PATCH 04/11] Changed args to runs for sh actions --- workflows/containerless/main.workflow | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/workflows/containerless/main.workflow b/workflows/containerless/main.workflow index 2f5af12..75a8947 100644 --- a/workflows/containerless/main.workflow +++ b/workflows/containerless/main.workflow @@ -4,7 +4,7 @@ workflow "containers" { action "build" { uses = "sh" - args = "workflows/containerless/scripts/build.sh" + runs = "workflows/containerless/scripts/build.sh" env = { PEVSL_MAKEFILE_IN = "workflows/containerless/makeconf/pEVSL_openblas.in" NORMALMODES_MAKEFILE_IN = "workflows/containerless/makeconf/NormalModes_openblas.in" @@ -15,7 +15,7 @@ action "build" { action "test" { needs = "build" uses = "sh" - args = "workflows/containerless/scripts/test.sh" + runs = "workflows/containerless/scripts/test.sh" } action "run" { From e43c45c11787e311187465152c28c430220be5c9 Mon Sep 17 00:00:00 2001 From: Jayjeet Chakraborty Date: Sat, 25 Apr 2020 22:39:46 +0530 Subject: [PATCH 05/11] Fix NormalModes_openblas.in --- workflows/containerless/makeconf/NormalModes_openblas.in | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/workflows/containerless/makeconf/NormalModes_openblas.in b/workflows/containerless/makeconf/NormalModes_openblas.in index ed282d6..fa19a55 100644 --- a/workflows/containerless/makeconf/NormalModes_openblas.in +++ b/workflows/containerless/makeconf/NormalModes_openblas.in @@ -1,4 +1,4 @@ -GH_WS = $(HOME)/GSOC/scc19-workflows +GH_WS = $(HOME)/normalmodes-workflows EVSL_DIR = $(GH_WS)/submodules/pEVSL LIBEVSL = -L$(EVSL_DIR) -lpevsl iterobj = $(EVSL_DIR)/EXTERNAL/ITERSOL/chebiter.o From f08e6993c467ecd97f9cae283b01585f4bfe49b7 Mon Sep 17 00:00:00 2001 From: Jayjeet Chakraborty Date: Sat, 25 Apr 2020 23:03:00 +0530 Subject: [PATCH 06/11] Fix build_ctx path in wf.yml --- workflows/containerized/wf.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/workflows/containerized/wf.yml b/workflows/containerized/wf.yml index 6f67d9d..2cf4487 100644 --- a/workflows/containerized/wf.yml +++ b/workflows/containerized/wf.yml @@ -15,7 +15,7 @@ steps: "cd ./submodules/pEVSL/TESTS/Lap/ && mpirun --allow-run-as-root -np 1 ./LapPLanN.ex -n 400 ./LapPLanN.ex -nx 20 -ny 20 -nz 20 -nslices 5 -a 0.6 -b 1.2"] - id: run - uses: ./workflows/containerized/normalmodes + uses: ./workflows/containerized/actions/normalmodes runs: ./workflows/containerized/scripts/run.sh env: MPI_NUM_PROCESSES: 1 From 897fd38888de35a40cfd44c0d5c23a7bae4ed541 Mon Sep 17 00:00:00 2001 From: Jayjeet Chakraborty Date: Sat, 25 Apr 2020 23:07:51 +0530 Subject: [PATCH 07/11] Add GITHUB_WORKSPACE var to scripts --- workflows/containerized/scripts/build.sh | 2 ++ workflows/containerized/scripts/run.sh | 1 + workflows/containerized/scripts/validate.sh | 3 +++ 3 files changed, 6 insertions(+) diff --git a/workflows/containerized/scripts/build.sh b/workflows/containerized/scripts/build.sh index c9eae8c..77ff931 100755 --- a/workflows/containerized/scripts/build.sh +++ b/workflows/containerized/scripts/build.sh @@ -1,6 +1,8 @@ #!/bin/bash set -e +export GITHUB_WORKSPACE=$(pwd) + if [ ! -d "./submodules/pEVSL" ]; then echo "Expecting ./submodules/pEVSL/ folder" exit 1 diff --git a/workflows/containerized/scripts/run.sh b/workflows/containerized/scripts/run.sh index c949f79..f133f4e 100755 --- a/workflows/containerized/scripts/run.sh +++ b/workflows/containerized/scripts/run.sh @@ -11,6 +11,7 @@ set -e #SBATCH --time=2:00:00 #SBATCH -A TG-EAR170019 +export GITHUB_WORKSPACE=$(pwd) if [ -z "$MPI_NUM_PROCESSES" ]; then echo "No MPI_NUM_ROCESSES variable defined" diff --git a/workflows/containerized/scripts/validate.sh b/workflows/containerized/scripts/validate.sh index acfbd28..19f6905 100755 --- a/workflows/containerized/scripts/validate.sh +++ b/workflows/containerized/scripts/validate.sh @@ -1,5 +1,8 @@ #!/usr/bin/env bash set -e + +export GITHUB_WORKSPACE=$(pwd) + cat $GITHUB_WORKSPACE/workflows/containerized/normalmodes.log | grep "relative err. " > temp.log while read p; do From 554c0782554949ef5b277b4d9dff32e272c34433 Mon Sep 17 00:00:00 2001 From: Jayjeet Chakraborty Date: Sat, 25 Apr 2020 23:30:32 +0530 Subject: [PATCH 08/11] Remove containerless version --- workflows/containerless/README.md | 75 ------------- workflows/containerless/main.workflow | 28 ----- .../containerless/makeconf/NormalModes_mkl.in | 104 ------------------ .../makeconf/NormalModes_openblas.in | 101 ----------------- workflows/containerless/makeconf/pEVSL_mkl.in | 20 ---- .../containerless/makeconf/pEVSL_openblas.in | 30 ----- workflows/containerless/scripts/build.sh | 48 -------- workflows/containerless/scripts/env-setup.sh | 4 - workflows/containerless/scripts/run.sh | 24 ---- workflows/containerless/scripts/test.sh | 12 -- 10 files changed, 446 deletions(-) delete mode 100644 workflows/containerless/README.md delete mode 100644 workflows/containerless/main.workflow delete mode 100644 workflows/containerless/makeconf/NormalModes_mkl.in delete mode 100644 workflows/containerless/makeconf/NormalModes_openblas.in delete mode 100644 workflows/containerless/makeconf/pEVSL_mkl.in delete mode 100644 workflows/containerless/makeconf/pEVSL_openblas.in delete mode 100755 workflows/containerless/scripts/build.sh delete mode 100755 workflows/containerless/scripts/env-setup.sh delete mode 100755 workflows/containerless/scripts/run.sh delete mode 100755 workflows/containerless/scripts/test.sh diff --git a/workflows/containerless/README.md b/workflows/containerless/README.md deleted file mode 100644 index 8f5b280..0000000 --- a/workflows/containerless/README.md +++ /dev/null @@ -1,75 +0,0 @@ -# SCC19 Workflow - -This workflow automates the computation of *Normal Mode* using [pEVSL -(parallel EigenValue Slicing Library)][pevsl] for the planetary models -generated by [Planetary Model Builder][planetary-model]. - -## Workflow - -The [workflow](./main.workflow) consists of three actions: - - * **`build`**. Builds `pEVSL` and its test-cases, and installs [NormalModes][normal-modes] - application. These can be built using [intel MKL][mkl] or [OpenBlas library][oblas]. - You can choose the preferred library by using the different makefiles present in - [`/makeconf`](./makeconf) directory. - - * **`test`**. Runs tests on `pEVSL`. - - * **`run`**. Compute the Normal Modes for a constant perfectly - spherically symmetric pure solid ball has a size of the Earth; - using the Model from [demos](./../submodules/NormalModes/demos). - The `global_conf` file in that file can be modified in order to - run other examples. - -### Environment - * `NUM_BUILD_JOBS`. The number of jobs to run while building the libraries via [`make`][make]. - * `MPI_NUM_PROCESSES`. The number of processes on which to run while executing the MPI job. - -## Execution - -This workflow runs on the host machine environment and can be executed -with the [Popper CLI tool][popper]. For a version of this workflow in -a containerized environment, see [here](../containerized). The -following executes this workflow: - -```bash -git clone --recursive https://github.com/ivotron/scc19-workflows -cd scc19-workflows/workflows/containerized - -popper run -``` - -> **NOTE**: The `--recursive` flag is required in order to download -> the and -> projects, which are -> submodules of this repository. - -Sample output -(trimmed to only show end of execution): - -``` - Row 261 1.9575838917916459 510.83379067078789 - Row 262 1.9654674111834070 508.78482864180404 - Row 263 1.9685489784113608 507.98837670120372 - Row 264 1.9764339222924401 505.96176716098506 - Row 265 1.9781774331264217 505.51582646433508 - Row 266 1.9809330184699281 504.81262651293457 - Row 267 1.9843952373083178 503.93186861122706 - Row 268 1.9860365613548143 503.51540321988341 - Row 269 1.9944091633034535 501.40162730883316 - Row 270 1.9972354448512162 500.69209545522301 - Row 271 1.9998649254669882 500.03377091404815 - ================================================================ - save eigenvectors - Time elapsed = 41.091000000014901 seconds. - save the results - Time elapsed = 41.091999999945983 seconds. - Time elapsed = 41.091999999945983 seconds. -``` - -[pevsl]: https://github.com/js1019/pEVSL -[planetary-model]: https://github.com/js1019/PlanetaryModels#planetary-model-builder -[normal-modes]: https://github.com/js1019/NormalModes -[docker]: https://get.docker.com -[popper]: https://github.com/systemslab/popper -[singularity]: https://github.com/sylabs/singularity diff --git a/workflows/containerless/main.workflow b/workflows/containerless/main.workflow deleted file mode 100644 index 75a8947..0000000 --- a/workflows/containerless/main.workflow +++ /dev/null @@ -1,28 +0,0 @@ -workflow "containers" { - resolves = "run" -} - -action "build" { - uses = "sh" - runs = "workflows/containerless/scripts/build.sh" - env = { - PEVSL_MAKEFILE_IN = "workflows/containerless/makeconf/pEVSL_openblas.in" - NORMALMODES_MAKEFILE_IN = "workflows/containerless/makeconf/NormalModes_openblas.in" - NUM_BUILD_JOBS = "4" - } -} - -action "test" { - needs = "build" - uses = "sh" - runs = "workflows/containerless/scripts/test.sh" -} - -action "run" { - needs = "test" - uses = "sh" - runs = "./workflows/containerless/scripts/run.sh" - env = { - MPI_NUM_PROCESSES = "1" - } -} diff --git a/workflows/containerless/makeconf/NormalModes_mkl.in b/workflows/containerless/makeconf/NormalModes_mkl.in deleted file mode 100644 index 1213d99..0000000 --- a/workflows/containerless/makeconf/NormalModes_mkl.in +++ /dev/null @@ -1,104 +0,0 @@ -GH_WS = $(HOME)/normalmodes-workflows -EVSL_DIR = $(GH_WS)/submodules/pEVSL -MKLROOT = /opt/intel/mkl -LIBEVSL = -L$(EVSL_DIR) -lpevsl -iterobj = $(EVSL_DIR)/EXTERNAL/ITERSOL/chebiter.o - - -# The platform identifier to suffix to the end of library names -# -PLAT = popper - -# lapack and blas -#MKLPATH = /apps/rhel6/intel/composer_xe_2013.3.163/mkl/lib/intel64 -LINKS = -Wl,--start-group ${MKLROOT}/lib/intel64/libmkl_intel_lp64.a \ - ${MKLROOT}/lib/intel64/libmkl_gnu_thread.a ${MKLROOT}/lib/intel64/libmkl_core.a \ - ${MKLROOT}/lib/intel64/libmkl_blacs_intelmpi_lp64.a -Wl,--end-group -lgomp -lpthread -lm -ldl - -#LINKS := /home/shi126/solver/OpenBLAS/libopenblas.a - - -IMETIS = -I/usr/include -IPARMETIS = -I/usr/include/parmetis - -#------------------------------------------------------------------ -# links of metis -# -LMETIS = -L/usr/lib/x86_64-linux-gnu/libmetis.so -lmetis -LParMETIS = -L/usr/lib/x86_64-linux-gnu/libparmetis.so -lparmetis -LORDERINGS = $(LParMETIS) $(LMETIS) -lpthread -OPTL = -O3 -fopenmp - -#----------------------------------------------------------------- - -#FDEBUG = -O0 -c -g -fbacktrace -FDEBUG = -c - -# Make our own suffixes' list. -# -.SUFFIXES: -.SUFFIXES: .f .o -.SUFFIXES: .F .f -.SUFFIXES: .f90 .o -# -# Default command. -# -.DEFAULT: - @$(ECHO) "Unknown target $@, try: make help" - -# -# Command to build .o files from .f files. -# -.f90.o: - @$(ECHO) Making $@ from $< - @$(FC) -c $(FIFLAGS) $< - -FC = mpif90 -FFLAGS = -O3 #-cg89 - -# Set the parallel fortran compiler -PFC = mpif90 #mpif90 #mpiifort -PFFLAGS = -O #-cg89 - -PCC = mpicc - -LDFLAGS = $(LINKS) -CD = cd -AR = ar - -CHMOD = chmod -CHFLAGS = -f - -COMPRESS = compress - -CP = cp - -# To find the path for cpp, try `man cpp', and it should list the path -# at the top, under `Syntax'. It is usually in /lib. -CPP = /lib/cpp -CPPFLAGS = - -ECHO = echo - -LN = ln -LNFLAGS = -s - -MAKE = /usr/bin/make - -MKDIR = mkdir -MDFLAGS = -p - -MV = mv -MVFLAGS = -f - -RM = rm -RMFLAGS = -f - -SHELL = /bin/sh - -TAR = tar - -# For System V based machine without ranlib, like Cray and SGI, -# use touch instead. -#RANLIB = touch -RANLIB = ranlib \ No newline at end of file diff --git a/workflows/containerless/makeconf/NormalModes_openblas.in b/workflows/containerless/makeconf/NormalModes_openblas.in deleted file mode 100644 index fa19a55..0000000 --- a/workflows/containerless/makeconf/NormalModes_openblas.in +++ /dev/null @@ -1,101 +0,0 @@ -GH_WS = $(HOME)/normalmodes-workflows -EVSL_DIR = $(GH_WS)/submodules/pEVSL -LIBEVSL = -L$(EVSL_DIR) -lpevsl -iterobj = $(EVSL_DIR)/EXTERNAL/ITERSOL/chebiter.o - - -# The platform identifier to suffix to the end of library names -# -PLAT = popper - -# lapack and blas -#MKLPATH = /apps/rhel6/intel/composer_xe_2013.3.163/mkl/lib/intel64 -LINKS = -lopenblas -lpthread -#LINKS := /home/shi126/solver/OpenBLAS/libopenblas.a - - -IMETIS = -I/usr/include -IPARMETIS = -I/usr/include/parmetis - -#------------------------------------------------------------------ -# links of metis -# -LMETIS = -L/usr/lib/x86_64-linux-gnu/libmetis.so -lmetis -LParMETIS = -L/usr/lib/x86_64-linux-gnu/libparmetis.so -lparmetis -LORDERINGS = $(LParMETIS) $(LMETIS) -lpthread -OPTL = -O3 -fopenmp - -#----------------------------------------------------------------- - -#FDEBUG = -O0 -c -g -fbacktrace -FDEBUG = -c - -# Make our own suffixes' list. -# -.SUFFIXES: -.SUFFIXES: .f .o -.SUFFIXES: .F .f -.SUFFIXES: .f90 .o -# -# Default command. -# -.DEFAULT: - @$(ECHO) "Unknown target $@, try: make help" - -# -# Command to build .o files from .f files. -# -.f90.o: - @$(ECHO) Making $@ from $< - @$(FC) -c $(FIFLAGS) $< - -FC = mpif90 -FFLAGS = -O3 #-cg89 - -# Set the parallel fortran compiler -PFC = mpif90 #mpif90 #mpiifort -PFFLAGS = -O #-cg89 - -PCC = mpicc - -LDFLAGS = $(LINKS) -CD = cd -AR = ar - -CHMOD = chmod -CHFLAGS = -f - -COMPRESS = compress - -CP = cp - -# To find the path for cpp, try `man cpp', and it should list the path -# at the top, under `Syntax'. It is usually in /lib. -CPP = /lib/cpp -CPPFLAGS = - -ECHO = echo - -LN = ln -LNFLAGS = -s - -MAKE = /usr/bin/make - -MKDIR = mkdir -MDFLAGS = -p - -MV = mv -MVFLAGS = -f - -RM = rm -RMFLAGS = -f - -SHELL = /bin/sh - -TAR = tar - -# For System V based machine without ranlib, like Cray and SGI, -# use touch instead. -#RANLIB = touch -RANLIB = ranlib - diff --git a/workflows/containerless/makeconf/pEVSL_mkl.in b/workflows/containerless/makeconf/pEVSL_mkl.in deleted file mode 100644 index b73ee1b..0000000 --- a/workflows/containerless/makeconf/pEVSL_mkl.in +++ /dev/null @@ -1,20 +0,0 @@ -INTEL = 1 -MKLROOT = /opt/intel/mkl - -LINK = mpicc - -# Common flags -# Debug mode -PEVSL_DEBUG = -DPEVSL_DEBUG -FLAGS = -DUNIX -O3 -g -Wall $(PEVSL_DEBUG) $(TIMING) - -##OBJ_TIME = mactime.o -OBJ_TIME = timing.o - -# ar -AR = ar rv -RANLIB = ranlib - - -FLAGS += -DUSE_MKL -LIBLAPACK = -Wl,--start-group ${MKLROOT}/lib/intel64/libmkl_intel_lp64.a ${MKLROOT}/lib/intel64/libmkl_intel_thread.a ${MKLROOT}/lib/intel64/libmkl_core.a ${MKLROOT}/lib/intel64/libmkl_blacs_intelmpi_lp64.a -Wl,--end-group -lgomp -lpthread -lm -ldl diff --git a/workflows/containerless/makeconf/pEVSL_openblas.in b/workflows/containerless/makeconf/pEVSL_openblas.in deleted file mode 100644 index fe9afa1..0000000 --- a/workflows/containerless/makeconf/pEVSL_openblas.in +++ /dev/null @@ -1,30 +0,0 @@ -INTEL = 0 - -# Compilers -ifeq ($(INTEL), 1) -MKLROOT = /opt/intel/mkl -CC = mpiicc -else -CC = mpicc -endif -LINK = $(CC) - -# Common flags -# Debug mode -PEVSL_DEBUG = -DPEVSL_DEBUG -FLAGS = -DUNIX -O3 -g -Wall $(PEVSL_DEBUG) $(TIMING) - -##OBJ_TIME = mactime.o -OBJ_TIME = timing.o - -# ar -AR = ar rv -RANLIB = ranlib - -ifeq ($(INTEL), 1) -FLAGS += -DUSE_MKL -LIBLAPACK = -Wl,--start-group ${MKLROOT}/lib/intel64/libmkl_intel_lp64.a ${MKLROOT}/lib/intel64/libmkl_intel_thread.a ${MKLROOT}/lib/intel64/libmkl_core.a ${MKLROOT}/lib/intel64/libmkl_blacs_intelmpi_lp64.a -Wl,--end-group -liomp5 -lpthread -lm -ldl -else -LIBLAPACK = -lopenblas -lpthread -LIB0 = -lgfortran -lm -endif diff --git a/workflows/containerless/scripts/build.sh b/workflows/containerless/scripts/build.sh deleted file mode 100755 index 1745026..0000000 --- a/workflows/containerless/scripts/build.sh +++ /dev/null @@ -1,48 +0,0 @@ -#!/bin/bash -set -e - -# load dependencies -source ./workflows/containerless/scripts/env-setup.sh - -if [ ! -d "./submodules/pEVSL" ]; then - echo "Expecting ./submodules/pEVSL/ folder" - exit 1 -fi -if [ ! -d "./submodules/NormalModes" ]; then - echo "Expecting ./submodules/NormalModes/ folder" - exit 1 -fi - -if [ -z "$PEVSL_MAKEFILE_IN" ]; then - echo "Expecting PEVSL_MAKEFILE_IN variable" - exit 1 -fi -if [ -z "$NORMALMODES_MAKEFILE_IN" ]; then - echo "Expecting NORMALMODES_MAKEFILE_IN variable" - exit 1 -fi -if [ -z "$NUM_BUILD_JOBS" ]; then - echo "Expecting NUM_BUILD_JOBS variable" - exit 1 -fi - -# copy configuration -cp $PEVSL_MAKEFILE_IN submodules/pEVSL/makefile.in - -# build lib -pushd submodules/pEVSL -make -j"$NUM_BUILD_JOBS" - -# build tests -pushd TESTS/Lap -make -j"$NUM_BUILD_JOBS" - -popd -popd - -# copy configuration -cp $NORMALMODES_MAKEFILE_IN submodules/NormalModes/makefile.in - -# build lib -pushd submodules/NormalModes/src -make -j"$NUM_BUILD_JOBS" diff --git a/workflows/containerless/scripts/env-setup.sh b/workflows/containerless/scripts/env-setup.sh deleted file mode 100755 index 443da68..0000000 --- a/workflows/containerless/scripts/env-setup.sh +++ /dev/null @@ -1,4 +0,0 @@ -#!/bin/bash -set -e - -# TODO: dependencies need to be added here so they are loaded diff --git a/workflows/containerless/scripts/run.sh b/workflows/containerless/scripts/run.sh deleted file mode 100755 index 64061f7..0000000 --- a/workflows/containerless/scripts/run.sh +++ /dev/null @@ -1,24 +0,0 @@ -#!/usr/bin/env bash -#SBATCH -J s1p1test -#SBATCH -o s1p1test_%j.txt -#SBATCH -e errs1p1test_%j.err -#SBATCH -p skx-dev -#SBATCH --nodes=1 -#SBATCH --ntasks-per-node=48 -##SBATCH -c 4 -#SBATCH --export=ALL -#SBATCH --time=2:00:00 -#SBATCH -A TG-EAR170019 -set -e - -# load dependencies -source ./workflows/containerless/scripts/env-setup.sh - -if [ -z "$MPI_NUM_PROCESSES" ]; then - echo "No MPI_NUM_ROCESSES variable defined" - exit -fi - -cd ./submodules/NormalModes/demos - -mpirun -np "$MPI_NUM_PROCESSES" ../bin/plmvcg_popper.out diff --git a/workflows/containerless/scripts/test.sh b/workflows/containerless/scripts/test.sh deleted file mode 100755 index a65bbbd..0000000 --- a/workflows/containerless/scripts/test.sh +++ /dev/null @@ -1,12 +0,0 @@ -#!/bin/bash -set -e - -# load dependencies -source ./workflows/containerless/scripts/env-setup.sh - -cd ./submodules/pEVSL/TESTS/Lap/ - -mpirun \ - -np 1 ./LapPLanN.ex \ - -n 400 ./LapPLanN.ex \ - -nx 20 -ny 20 -nz 20 -nslices 5 -a 0.6 -b 1.2 From d1e61372dcd0eadf4ab386103dad84ab1a54fa52 Mon Sep 17 00:00:00 2001 From: Jayjeet Chakraborty Date: Sun, 26 Apr 2020 12:18:27 +0000 Subject: [PATCH 09/11] Extract test command into scripts/test.sh --- workflows/containerized/scripts/test.sh | 5 +++++ workflows/containerized/wf.yml | 4 +--- 2 files changed, 6 insertions(+), 3 deletions(-) create mode 100755 workflows/containerized/scripts/test.sh diff --git a/workflows/containerized/scripts/test.sh b/workflows/containerized/scripts/test.sh new file mode 100755 index 0000000..52f21a2 --- /dev/null +++ b/workflows/containerized/scripts/test.sh @@ -0,0 +1,5 @@ +#!/bin/bash +set -e + +cd ./submodules/pEVSL/TESTS/Lap/ +mpirun --allow-run-as-root -np 1 ./LapPLanN.ex -n 400 ./LapPLanN.ex -nx 20 -ny 20 -nz 20 -nslices 5 -a 0.6 -b 1.2 diff --git a/workflows/containerized/wf.yml b/workflows/containerized/wf.yml index 2cf4487..8e770b9 100644 --- a/workflows/containerized/wf.yml +++ b/workflows/containerized/wf.yml @@ -10,9 +10,7 @@ steps: - id: test uses: ./workflows/containerized/actions/normalmodes - runs: [ - "sh", "-c", - "cd ./submodules/pEVSL/TESTS/Lap/ && mpirun --allow-run-as-root -np 1 ./LapPLanN.ex -n 400 ./LapPLanN.ex -nx 20 -ny 20 -nz 20 -nslices 5 -a 0.6 -b 1.2"] + runs: ./workflows/containerized/scripts/test.sh - id: run uses: ./workflows/containerized/actions/normalmodes From fad2bf08f077ec23fbb97a14514e2741deecda79 Mon Sep 17 00:00:00 2001 From: Jayjeet Chakraborty Date: Sun, 26 Apr 2020 12:24:48 +0000 Subject: [PATCH 10/11] Remove main.workflow and add conf_slurm.yml --- workflows/containerized/conf_slurm.yml | 7 ++++ workflows/containerized/main.workflow | 53 -------------------------- 2 files changed, 7 insertions(+), 53 deletions(-) create mode 100644 workflows/containerized/conf_slurm.yml delete mode 100644 workflows/containerized/main.workflow diff --git a/workflows/containerized/conf_slurm.yml b/workflows/containerized/conf_slurm.yml new file mode 100644 index 0000000..6b785d9 --- /dev/null +++ b/workflows/containerized/conf_slurm.yml @@ -0,0 +1,7 @@ +engine: + name: docker + options: + privileged: True + +resource_manager: + name: slurm diff --git a/workflows/containerized/main.workflow b/workflows/containerized/main.workflow deleted file mode 100644 index 7df21d6..0000000 --- a/workflows/containerized/main.workflow +++ /dev/null @@ -1,53 +0,0 @@ -workflow "containers" { - resolves = "generate vtk" -} - -action "build" { - uses = "./workflows/containerized/actions/normalmodes" - runs = "./workflows/containerized/scripts/build.sh" - env = { - # Makefiles using MKL - PEVSL_MAKEFILE_IN = "./workflows/containerized/makeconf/pEVSL_mkl.in" - NORMALMODES_MAKEFILE_IN = "./workflows/containerized/makeconf/NormalModes_mkl.in" - - # Makefiles using OpenBLAS - # PEVSL_MAKEFILE_IN = "./workflows/containerized/makeconf/pEVSL_openblas.in" - # NORMALMODES_MAKEFILE_IN = "./workflows/containerized/makeconf/NormalModes_openblas.in" - - NUM_BUILD_JOBS = "1" - } -} - -action "test" { - needs = "build" - uses = "./workflows/containerized/actions/normalmodes" - runs = [ - "sh", "-c", - "cd ./submodules/pEVSL/TESTS/Lap/ && mpirun --allow-run-as-root -np 1 ./LapPLanN.ex -n 400 ./LapPLanN.ex -nx 20 -ny 20 -nz 20 -nslices 5 -a 0.6 -b 1.2" - ] -} - -action "run" { - needs = "test" - uses = "./workflows/containerized/actions/normalmodes" - runs = "./workflows/containerized/scripts/run.sh" - env = { - MPI_NUM_PROCESSES = "1" - - # input parameters defined in global_conf file of this directory - INPUT_DIR = "submodules/NormalModes/demos/" - } -} - -action "validate" { - needs = "run" - uses = "popperized/bin/sh@master" - runs = "./workflows/containerized/scripts/validate.sh" -} - -# input parameters defined in visualCmain.m file -action "generate vtk" { - needs = "validate" - uses = "docker://popperized/octave:4.4" - args = "./workflows/containerized/scripts/visualCmain.m" -} From 8c9cd240b85df0d8ea3adf020ff9c781a7c053f1 Mon Sep 17 00:00:00 2001 From: Jayjeet Chakraborty Date: Sun, 26 Apr 2020 18:51:30 +0530 Subject: [PATCH 11/11] Update .travis.yml --- .travis.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.travis.yml b/.travis.yml index 15b7dbc..aeb3e13 100644 --- a/.travis.yml +++ b/.travis.yml @@ -7,4 +7,4 @@ install: - git clone https://github.com/systemslab/popper /tmp/popper - export PYTHONUNBUFFERED=1 - pip install /tmp/popper/cli -script: popper run \ No newline at end of file +script: popper run -f workflows/containerized/wf.yml \ No newline at end of file