|
| 1 | +#!/bin/bash |
| 2 | +# |
| 3 | +# Usage: ./run |
| 4 | +# |
| 5 | + |
| 6 | +if [ "$#" -ne 1 ]; then |
| 7 | + script_name=$(basename $0) |
| 8 | + echo "Usage: ${script_name} EXPERIMENT_ID (e.g. ${script_name} experiment_1)" |
| 9 | + exit 1 |
| 10 | +fi |
| 11 | + |
| 12 | +#### set this variable to your P1B1 benchmark directory (frameworks branch) |
| 13 | +P1B1_DIR=../../../../Benchmarks/Pilot1/P1B1 |
| 14 | +### |
| 15 | + |
| 16 | +THIS=$( cd $( dirname $0 ); /bin/pwd ) |
| 17 | +export APP_HOME=$THIS |
| 18 | + |
| 19 | +PROJECT_ROOT=$APP_HOME/.. |
| 20 | + |
| 21 | + |
| 22 | +export EXPID=$1 |
| 23 | +export TURBINE_OUTPUT=$APP_HOME/../experiments/$EXPID |
| 24 | + |
| 25 | + |
| 26 | +# TODO edit QUEUE, WALLTIME, PPN, AND TURNBINE_JOBNAME |
| 27 | +# as required. Note that QUEUE, WALLTIME, PPN, AND TURNBINE_JOBNAME will |
| 28 | +# be ignored if MACHINE flag (see below) is not set |
| 29 | +export QUEUE=default |
| 30 | +export WALLTIME=00:45:00 |
| 31 | +export PPN=2 |
| 32 | +export TURBINE_JOBNAME="${EXPID}_job" |
| 33 | +# export PROJECT=UrbanExP |
| 34 | + |
| 35 | + |
| 36 | +# PYTHONPATH |
| 37 | +PYTHON_ROOT=/soft/analytics/conda/env/Candle_ML |
| 38 | + |
| 39 | +PATH=$PYTHON_ROOT/bin:$PATH |
| 40 | + |
| 41 | +which python |
| 42 | + |
| 43 | +PP= |
| 44 | +PP+=$PYTHON_ROOT/lib/python2.7/site-packages: |
| 45 | +PP+=$PYTHON_ROOT/lib/python2.7: |
| 46 | +PP+=$P1B1_DIR: |
| 47 | +PP+=$PROJECT_ROOT/python |
| 48 | + |
| 49 | +# PYTHONHOME |
| 50 | +PH=/soft/analytics/conda/env/Candle_ML |
| 51 | + |
| 52 | +#ENVS="-e APP_HOME=$APP_HOME -e PROJECT_ROOT=$PROJECT_ROOT -e PYTHONHOME=$PH -e PYTHONPATH=$PP -e TURBINE_RESIDENT_WORK_WORKERS=1 -e RESIDENT_WORK_RANKS=$(( PROCS - 2 )) -e TURBINE_OUTPUT=$TURBINE_OUTPUT" |
| 53 | + |
| 54 | +ENVS="-e PYTHONHOME=$PH -e PYTHONPATH=$PP -e TURBINE_RESIDENT_WORK_WORKERS=1 -e RESIDENT_WORK_RANKS=$(( PROCS - 2 )) -e PROJECT_ROOT=$PROJECT_ROOT -e APP_HOME=$APP_HOME -e TURBINE_OUTPUT=$TURBINE_OUTPUT" |
| 55 | + |
| 56 | +export MODE=cluster |
| 57 | +### set the desired number of processors |
| 58 | +PROCS=2 |
| 59 | +### |
| 60 | + |
| 61 | + |
| 62 | +# set machine to your schedule type (e.g. pbs, slurm, cobalt etc.), |
| 63 | +# or empty for an immediate non-queued unscheduled run |
| 64 | +# MACHINE="cobalt" |
| 65 | + |
| 66 | +if [ -n "$MACHINE" ]; then |
| 67 | + MACHINE="-m $MACHINE" |
| 68 | +fi |
| 69 | + |
| 70 | + |
| 71 | + |
| 72 | + |
| 73 | +# remove -l option for removing printing processors ranks |
| 74 | +# settings.json file has all the parameter combinations to be tested |
| 75 | +set -x |
| 76 | +export TURBINE_LOG=1 |
| 77 | +echo swift-t -l -n $PROCS $MACHINE -p $ENVS $APP_HOME/random-sweep.swift $* --settings=$PWD/../data/settings.json |
| 78 | +swift-t -l -n $PROCS $MACHINE -p $ENVS $APP_HOME/random-sweep.swift $* --settings=$PWD/../data/settings.json |
| 79 | + |
0 commit comments