Skip to content

Commit d0058a3

Browse files
committed
NWChem + Chimbuko Docker image now allows the user to pass a write dir for the provDB. Coupled with mounting an external directory allows persistence of the provenance data
1 parent 8d0ac80 commit d0058a3

File tree

3 files changed

+9
-4
lines changed

3 files changed

+9
-4
lines changed

docker/ubuntu18.04/openmpi4.0.4/Dockerfile.chimbuko.nwchem

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -23,12 +23,12 @@ RUN apt-get update && apt-get install -y gdb emacs-nox vim
2323

2424
WORKDIR /
2525

26-
RUN echo "INVALIDATE_7" > /dev/null
26+
RUN echo "INVALIDATE_10" > /dev/null
2727
COPY run_nwchem_chimbuko.sh /
2828
COPY sos_filter.txt /
2929
COPY chimbuko_config.templ /
3030

3131
EXPOSE 5000
3232

3333
ENTRYPOINT [ "./run_nwchem_chimbuko.sh" ]
34-
CMD [ "5", "50000", "SST", "false", "12", "10", "1000", "/test" ]
34+
CMD [ "5", "50000", "SST", "false", "12", "10", "1000", "/test", "chimbuko/provdb" ]

docker/ubuntu18.04/openmpi4.0.4/chimbuko_config.templ

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,7 @@ provdb_nshards=4 #number of database shards
2929
provdb_ninstances=1 #number of database server instances. Shards are distributed over instances
3030
provdb_engine="ofi+tcp;ofi_rxm" #the OFI libfabric provider used for the Mochi stack
3131
provdb_port=5001 #the port of the provenance database
32-
provdb_writedir=chimbuko/provdb #the directory in which the provenance database is written. Chimbuko creates chimbuko/provdb which can be used as a default
32+
provdb_writedir=<PROVDB_WRITEDIR> #the directory in which the provenance database is written. Chimbuko creates chimbuko/provdb which can be used as a default
3333
provdb_commit_freq=10000 #frequency ms at which the provenance database is committed to disk. If set to 0 it will commit only at the end
3434

3535
#With "verbs" provider (used for infiniband, iWarp, etc) we need to also specify the domain, which can be found by running fi_info (on a compute node)

docker/ubuntu18.04/openmpi4.0.4/run_nwchem_chimbuko.sh

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -29,6 +29,7 @@ AD_SIGMA=${5:-6}
2929
AD_WINSZ=${6:-10}
3030
AD_INTERVAL=${7:-1000}
3131
BATCH_DIR=${8:-/test}
32+
PROVDB_WRITEDIR=${9:-chimbuko/provdb}
3233

3334
echo "============================"
3435
echo "NMPIS: ${NMPIS}"
@@ -39,6 +40,7 @@ echo "AD SIGMA: ${AD_SIGMA}"
3940
echo "AD WINSZ: ${AD_WINSZ}"
4041
echo "AD INTERVAL: ${AD_INTERVAL} msec"
4142
echo "BATCH DIR: ${BATCH_DIR}"
43+
echo "PROVDB WRITEDIR : ${PROVDB_WRITEDIR}"
4244
echo "============================"
4345
sleep 1
4446

@@ -63,7 +65,7 @@ cd $BATCH_DIR
6365
rm -rf *
6466

6567
# #Override config script with user options
66-
cat /chimbuko_config.templ | sed "s/<TAU_ADIOS2_ENGINE>/${ADIOS_MODE}/" | sed "s/<AD_WIN_SIZE>/${AD_WINSZ}/" | sed "s/<AD_SIGMA>/${AD_SIGMA}/" | sed "s/<AD_INTERVAL>/${AD_INTERVAL}/" | sed "s|<VIZ_ROOT>|${VIZ_ROOT}|" > chimbuko_config.sh
68+
cat /chimbuko_config.templ | sed "s/<TAU_ADIOS2_ENGINE>/${ADIOS_MODE}/" | sed "s/<AD_WIN_SIZE>/${AD_WINSZ}/" | sed "s/<AD_SIGMA>/${AD_SIGMA}/" | sed "s/<AD_INTERVAL>/${AD_INTERVAL}/" | sed "s|<VIZ_ROOT>|${VIZ_ROOT}|" | sed "s|<PROVDB_WRITEDIR>|${PROVDB_WRITEDIR}|" > chimbuko_config.sh
6769
export CHIMBUKO_CONFIG=chimbuko_config.sh
6870
source ${CHIMBUKO_CONFIG}
6971

@@ -113,4 +115,7 @@ else
113115
fi
114116

115117
wait
118+
echo "Setting ownership of provdb data"
119+
chown `stat -c "%u:%g" ${PROVDB_WRITEDIR}` ${PROVDB_WRITEDIR}/provdb*
120+
116121
echo "Bye~~!!"

0 commit comments

Comments
 (0)