Skip to content

Commit 10b2b65

Browse files
committed
2 parents b1b329d + 8f5eb50 commit 10b2b65

File tree

12 files changed

+160
-69
lines changed

12 files changed

+160
-69
lines changed

workflows/common/sh/langs-theta.sh

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
2+
# LANGS Theta
3+
# Language settings for Theta (Swift, Python, R, Tcl, etc.)
4+
5+
TCL=/home/wozniak/Public/sfw/theta/tcl-8.6.1
6+
export R=/home/wozniak/Public/sfw/theta/R-3.4.0/lib64/R
7+
export PY=/home/wozniak/Public/sfw/theta/Python-2.7.12
8+
export LD_LIBRARY_PATH=$PY/lib:$R/lib:$LD_LIBRARY_PATH
9+
COMMON_DIR=$EMEWS_PROJECT_ROOT/../common/python
10+
PYTHONPATH=$EMEWS_PROJECT_ROOT/python:$BENCHMARK_DIR:$COMMON_DIR
11+
PYTHONHOME=/home/wozniak/Public/sfw/theta/Python-2.7.12
12+
13+
# STC=/home/wozniak/Public/sfw/theta/swift-t-pyr/stc
14+
STC=/projects/Candle_ECP/swift/pyr/stc
15+
16+
export PATH=$STC/bin:$TCL/bin:$PATH

workflows/common/sh/utils.sh

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -35,10 +35,13 @@ EOF
3535
fi
3636

3737
export EXPID=$1
38-
if [ $EXPID = "-a" ]; then
38+
if [ $EXPID = "-a" ]
39+
then
3940
export TURBINE_OUTPUT_ROOT=$EMEWS_PROJECT_ROOT/experiments
40-
export TURBINE_OUTPUT_FORMAT=X%Q
41-
EXPID=SWIFT
41+
# Creates a X + a unique integer padded to 3 digits: e.g., X023
42+
export TURBINE_OUTPUT_FORMAT="X%Q"
43+
EXPID="AUTO"
44+
shift
4245
else
4346
export TURBINE_OUTPUT=$EMEWS_PROJECT_ROOT/experiments/$EXPID
4447
check_directory_exists
Lines changed: 34 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,34 @@
1+
module load gcc
2+
export PATH=$PATH:/ccs/home/wozniak/Public/sfw/swig-3.0.2/bin
3+
4+
# TITAN BUILD SETTINGS
5+
6+
R_HOME=/sw/xk6/r/3.3.2/sles11.3_gnu4.9.3x/lib64/R
7+
R_INCLUDE=$R_HOME/include
8+
R_LIB=$R_HOME/lib
9+
R_INSIDE=$R_HOME/library/RInside
10+
RCPP=$R_HOME/library/Rcpp
11+
12+
#system-wide tcl
13+
TCL=/ccs/home/wozniak/Public/sfw/tcl-8.6.2
14+
TCL_INCLUDE=$TCL/include
15+
TCL_LIB=$TCL/lib
16+
TCL_LIBRARY=tcl8.6
17+
export PATH=$PATH:/ccs/home/wozniak/Public/sfw/tcl-8.6.2/bin
18+
19+
CPPFLAGS=""
20+
CPPFLAGS+="-I$TCL_INCLUDE "
21+
CPPFLAGS+="-I$R_INCLUDE "
22+
CPPFLAGS+="-I$RCPP/include "
23+
CPPFLAGS+="-I$R_INSIDE/include "
24+
CXXFLAGS=$CPPFLAGS
25+
26+
LDFLAGS=""
27+
LDFLAGS+="-L$R_INSIDE/lib -lRInside "
28+
LDFLAGS+="-L$R_LIB -lR -lRblas "
29+
LDFLAGS+="-L$TCL_LIB -l$TCL_LIBRARY "
30+
LDFLAGS+="-Wl,-rpath -Wl,$TCL_LIB "
31+
LDFLAGS+="-Wl,-rpath -Wl,$R_LIB "
32+
LDFLAGS+="-Wl,-rpath -Wl,$R_INSIDE/lib"
33+
34+
export CPPFLAGS CXXFLAGS LDFLAGS

workflows/p3b1_mlrMBO/R/mlrMBO3.R

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,8 @@ parallelMap2 <- function(fun, ...,
2525
else{
2626
dots <- list(...)
2727
string_params <- elements_of_lists_to_json(dots[[1L]])
28-
print(paste0("parallelMap2 called with list_param: ",string_params))
28+
# print(paste0("parallelMap2 called with list_param: ",string_params))
29+
# print(paste0("parallelMap2 called with list of length: ", ???)
2930
OUT_put(string_params)
3031
string_results = IN_get()
3132

workflows/p3b1_mlrMBO/etc/emews_utils.sh

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,8 @@
11
log_script() {
2+
# usage: Provide shell script for inclusion in log
23
SCRIPT_NAME=$(basename $0)
34
mkdir -p $TURBINE_OUTPUT
4-
LOG_NAME="${TURBINE_OUTPUT}/${SCRIPT_NAME}.log"
5+
LOG_NAME="${TURBINE_OUTPUT}/emews.log"
56
echo "### VARIABLES ###" > $LOG_NAME
67
set +u
78
VARS=( "EMEWS_PROJECT_ROOT" "EXPID" "TURBINE_OUTPUT" \
@@ -24,7 +25,7 @@ log_script() {
2425

2526
echo "" >> $LOG_NAME
2627
echo "## SCRIPT ###" >> $LOG_NAME
27-
cat $EMEWS_PROJECT_ROOT/swift/$SCRIPT_NAME >> $LOG_NAME
28+
cat $1 >> $LOG_NAME
2829
}
2930

3031
check_directory_exists() {

workflows/p3b1_mlrMBO/ext/EQ-R/eqr/titan_build_settings.sh

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,4 @@
1+
# Titan specific settings to build eqr
12
module load gcc
23
export PATH=$PATH:/ccs/home/wozniak/Public/sfw/swig-3.0.2/bin
34

workflows/p3b1_mlrMBO/python/p3b1_runner.py

Lines changed: 37 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,14 +8,39 @@
88
import os
99
import p3b1
1010
import runner_utils
11+
import socket
12+
13+
node_pid = "%s,%i" % (socket.gethostname(), os.getpid())
14+
print("node,pid: " + node_pid)
15+
16+
logger = None
17+
18+
def get_logger():
19+
""" Set up logging """
20+
global logger
21+
if logger is not None:
22+
return logger
23+
import logging, sys
24+
logger = logging.getLogger(__name__)
25+
logger.setLevel(logging.DEBUG)
26+
h = logging.StreamHandler(stream=sys.stdout)
27+
fmtr = logging.Formatter('%(asctime)s %(name)s %(levelname)-9s %(message)s',
28+
datefmt='%Y/%m/%d %H:%M:%S')
29+
h.setFormatter(fmtr)
30+
logger.addHandler(h)
31+
return logger
1132

1233
def run(hyper_parameter_map):
34+
35+
logger = get_logger()
1336
framework = hyper_parameter_map['framework']
37+
logger.debug("IMPORT START")
1438
if framework == 'keras':
1539
import p3b1_baseline_keras2
1640
pkg = p3b1_baseline_keras2
1741
else:
1842
raise ValueError("Unsupported framework: {}".format(framework))
43+
logger.debug("IMPORT STOP")
1944

2045
# params is python dictionary
2146
params = pkg.initialize_parameters()
@@ -26,8 +51,12 @@ def run(hyper_parameter_map):
2651
# raise Exception("Parameter '{}' not found in set of valid arguments".format(k))
2752
params[k] = v
2853

54+
logger.debug("WRITE_PARAMS START")
2955
runner_utils.write_params(params, hyper_parameter_map)
56+
logger.debug("WRITE_PARAMS STOP")
57+
logger.debug("DO_N_FOLD START")
3058
avg_loss = pkg.do_n_fold(params)
59+
logger.debug("DO_N_FOLD STOP")
3160

3261
if framework == 'keras':
3362
# works around this error:
@@ -41,16 +70,24 @@ def run(hyper_parameter_map):
4170
return avg_loss
4271

4372
if __name__ == '__main__':
73+
logger = get_logger()
74+
logger.debug("RUN START")
75+
4476
param_string = sys.argv[1]
4577
instance_directory = sys.argv[2]
4678
framework = sys.argv[3]
4779
exp_id = sys.argv[4]
4880
run_id = sys.argv[5]
81+
logger.debug("RUN INIT START")
4982
hyper_parameter_map = runner_utils.init(param_string, instance_directory,
5083
framework, 'save_path')
84+
logger.debug("RUN INIT STOP")
5185
hyper_parameter_map['experiment_id'] = exp_id
5286
hyper_parameter_map['run_id'] = run_id
5387
# clear sys.argv so that argparse doesn't object
5488
sys.argv = ['p3b1_runner']
5589
result = run(hyper_parameter_map)
90+
logger.debug("WRITE OUTPUT START")
5691
runner_utils.write_output(result, instance_directory)
92+
logger.debug("WRITE OUTPUT STOP")
93+
logger.debug("RUN STOP")

workflows/p3b1_mlrMBO/scripts/theta_run_model.sh

Lines changed: 16 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -61,18 +61,29 @@ export PYTHONPATH
6161
arg_array=("$emews_root/python/p3b1_runner.py" "$parameter_string" "$instance_directory" "$framework" "$exp_id" "$run_id")
6262
MODEL_CMD="python ${arg_array[@]}"
6363

64+
msg()
65+
{
66+
echo "theta_run_model.sh: $*"
67+
}
68+
6469
# Turn bash error checking off. This is
6570
# required to properly handle the model execution return value
6671
# the optional timeout.
6772
set +e
68-
echo $MODEL_CMD
69-
$TIMEOUT_CMD python "${arg_array[@]}"
7073

74+
# Format and report model parameters
75+
# as represented on Python command line:
76+
msg MODEL_CMD: $MODEL_CMD | \
77+
tr -d "{}\"" | \
78+
tr "," " " | \
79+
fmt -t -w 1
80+
echo
81+
$TIMEOUT_CMD $MODEL_CMD
7182
RES=$?
7283
if [ "$RES" -ne 0 ]; then
73-
if [ "$RES" == 124 ]; then
74-
echo "---> Timeout error in $MODEL_CMD"
84+
if [ "$RES" == 124 ]; then
85+
msg "---> Timeout error in MODEL_CMD"
7586
else
76-
echo "---> Error in $MODEL_CMD"
87+
msg "---> Error in MODEL_CMD"
7788
fi
7889
fi

workflows/p3b1_mlrMBO/swift/ai_workflow3.swift

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,8 @@ file model_script = input(argv("script_file"));
2121
file log_script = input(argv("log_script"));
2222
string exp_id = argv("exp_id");
2323

24+
printf("TURBINE_OUTPUT: %s", turbine_output);
25+
2426
string FRAMEWORK = "keras";
2527

2628

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
#!/bin/bash
2+
set -eu
3+
4+
source $EMEWS_PROJECT_ROOT/etc/emews_utils.sh
5+
6+
log_script $EMEWS_PROJECT_ROOT/swift/theta_workflow.sh
7+

0 commit comments

Comments
 (0)