Skip to content

Commit

Permalink
Removal of _stage_linear since it is now not needed. (#156)
Browse files Browse the repository at this point in the history
* Removal of _stage_linear since it is now not needed.

* Addition of linear LULESH samples.

* Update the dev to 1.1.
  • Loading branch information
FrankD412 authored Nov 6, 2018
1 parent 0b0c58f commit 824d113
Show file tree
Hide file tree
Showing 4 changed files with 143 additions and 10 deletions.
11 changes: 2 additions & 9 deletions maestrowf/datastructures/core/study.py
Original file line number Diff line number Diff line change
Expand Up @@ -392,7 +392,7 @@ def configure_study(self, submission_attempts=1, restart_limit=1,
use_tmp, hash_ws
)

def _stage_parameterized(self, dag):
def _stage(self, dag):
"""
Set up the ExecutionGraph of a parameterized study.
Expand Down Expand Up @@ -795,11 +795,4 @@ def stage(self):
dag.add_description(**self.description)
dag.log_description()

# We have two cases:
# 1. Parameterized workflows
# 2. A linear, execute as specified workflow
# NOTE: This scheme could be how we handle derived use cases.
if self.parameters:
return self._out_path, self._stage_parameterized(dag)
else:
return self._out_path, self._stage_linear(dag)
return self._out_path, self._stage(dag)
70 changes: 70 additions & 0 deletions samples/lulesh/lulesh_sample1_macosx_linear.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,70 @@
description:
name: lulesh sample1
description: A sample LULESH study that downloads, builds, and runs a parameter study of varying problem sizes and iterations.

env:
variables:
OUTPUT_PATH: ./sample_output/lulesh
SIZE: 10
ITERATIONS: 20
TRIAL: 1

labels:
outfile: SIZE.$(SIZE).ITER.$(ITERATIONS).log

dependencies:
git:
- name: LULESH
path: $(OUTPUT_PATH)
url: https://github.com/LLNL/LULESH.git

study:
- name: make-lulesh
description: Build the serial version of LULESH.
run:
cmd: |
cd $(LULESH)
sed -i "" 's/^CXX = $(MPICXX)/CXX = $(SERCXX)/' ./Makefile
sed -i "" 's/^CXXFLAGS = -g -O3 -fopenmp/#CXXFLAGS = -g -O3 -fopenmp/' ./Makefile
sed -i "" 's/^#LDFLAGS = -g -O3/LDFLAGS = -g -O3/' ./Makefile
sed -i "" 's/^LDFLAGS = -g -O3 -fopenmp/#LDFLAGS = -g -O3 -fopenmp/' ./Makefile
sed -i "" 's/^#CXXFLAGS = -g -O3 -I/CXXFLAGS = -g -O3 -I/' ./Makefile
make clean
make
depends: []

- name: run-lulesh
description: Run LULESH.
run:
cmd: |
$(LULESH)/lulesh2.0 -s $(SIZE) -i $(ITERATIONS) -p > $(outfile)
depends: [make-lulesh]

- name: post-process-lulesh
description: Post process all LULESH results.
run:
cmd: |
echo "Unparameterized step with Parameter Independent dependencies." >> out.log
echo $(run-lulesh.workspace) > out.log
ls $(run-lulesh.workspace) > ls.log
depends: [run-lulesh]

- name: post-process-lulesh-trials
description: Post process all LULESH results.
run:
cmd: |
echo "Parameterized step that has Parameter Independent dependencies" >> out.log
echo "TRIAL = $(TRIAL)" >> out.log
echo $(run-lulesh.workspace) >> out.log
ls $(run-lulesh.workspace) > out.log
depends: [run-lulesh]

- name: post-process-lulesh-size
description: Post process all LULESH results.
run:
cmd: |
echo "Parameterized step that has Parameter Independent dependencies" >> out.log
echo "SIZE = $(SIZE)" >> out.log
echo $(run-lulesh.workspace) >> out.log
ls $(run-lulesh.workspace) | grep SIZE.$(SIZE) >> out.log
depends: [run-lulesh]
70 changes: 70 additions & 0 deletions samples/lulesh/lulesh_sample1_unix_linear.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,70 @@
description:
name: lulesh sample1
description: A sample LULESH study that downloads, builds, and runs a parameter study of varying problem sizes and iterations.

env:
variables:
OUTPUT_PATH: ./sample_output/lulesh
SIZE: 10
ITERATIONS: 20
TRIAL: 1

labels:
outfile: SIZE.$(SIZE).ITER.$(ITERATIONS).log

dependencies:
git:
- name: LULESH
path: $(OUTPUT_PATH)
url: https://github.com/LLNL/LULESH.git

study:
- name: make-lulesh
description: Build the serial version of LULESH.
run:
cmd: |
cd $(LULESH)
sed -i 's/^CXX = $(MPICXX)/CXX = $(SERCXX)/' ./Makefile
sed -i 's/^CXXFLAGS = -g -O3 -fopenmp/#CXXFLAGS = -g -O3 -fopenmp/' ./Makefile
sed -i 's/^#LDFLAGS = -g -O3/LDFLAGS = -g -O3/' ./Makefile
sed -i 's/^LDFLAGS = -g -O3 -fopenmp/#LDFLAGS = -g -O3 -fopenmp/' ./Makefile
sed -i 's/^#CXXFLAGS = -g -O3 -I/CXXFLAGS = -g -O3 -I/' ./Makefile
make clean
make
depends: []

- name: run-lulesh
description: Run LULESH.
run:
cmd: |
$(LULESH)/lulesh2.0 -s $(SIZE) -i $(ITERATIONS) -p > $(outfile)
depends: [make-lulesh]

- name: post-process-lulesh
description: Post process all LULESH results.
run:
cmd: |
echo "Unparameterized step with Parameter Independent dependencies." >> out.log
echo $(run-lulesh.workspace) > out.log
ls $(run-lulesh.workspace) > ls.log
depends: [run-lulesh]

- name: post-process-lulesh-trials
description: Post process all LULESH results.
run:
cmd: |
echo "Parameterized step that has Parameter Independent dependencies" >> out.log
echo "TRIAL = $(TRIAL)" >> out.log
echo $(run-lulesh.workspace) >> out.log
ls $(run-lulesh.workspace) > out.log
depends: [run-lulesh]

- name: post-process-lulesh-size
description: Post process all LULESH results.
run:
cmd: |
echo "Parameterized step that has Parameter Independent dependencies" >> out.log
echo "SIZE = $(SIZE)" >> out.log
echo $(run-lulesh.workspace) >> out.log
ls $(run-lulesh.workspace) | grep SIZE.$(SIZE) >> out.log
depends: [run-lulesh]
2 changes: 1 addition & 1 deletion setup.py
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
setup(name='maestrowf',
description='A tool and library for specifying and conducting general '
'workflows.',
version='1.1.4dev1.0',
version='1.1.4dev1.1',
author='Francesco Di Natale',
author_email='[email protected]',
url='https://github.com/llnl/maestrowf',
Expand Down

0 comments on commit 824d113

Please sign in to comment.