66# Usage (from repo root on anunna):
77# cybench/runs/slurm/orchestrate_benchmark_submit.sh --list
88# cybench/runs/slurm/orchestrate_benchmark_submit.sh --dry-run
9+ # cybench/runs/slurm/orchestrate_benchmark_submit.sh --horizon early --version 2 --dry-run
910# cybench/runs/slurm/orchestrate_benchmark_submit.sh --countries PL IT --horizon eos
1011# cybench/runs/slurm/orchestrate_benchmark_submit.sh --region-threshold 50 --max 3
1112#
@@ -15,26 +16,39 @@ usage() {
1516 cat << 'EOF '
1617Usage: orchestrate_benchmark_submit.sh [options]
1718
18- Discover countries / horizons without manifests yet, then call submit_benchmark.sh
19- per batch. Tabular (cpu) and naive jobs always use the cpu/main arrays; only the
20- gpu manifest group is routed to the gpu partition or --cpu based on region count.
19+ Discover countries with yield data and horizons without manifests yet, then call
20+ submit_benchmark.sh per batch. Tabular (cpu) and naive jobs always use the cpu/main
21+ arrays; only the gpu manifest group is routed to the gpu partition or --cpu based
22+ on region count.
23+
24+ By default every country with data on disk is included (no --countries needed).
2125
2226Options:
2327 --list Show plan (country, regions, gpu vs cpu) and exit
2428 --dry-run Print submit_benchmark.sh commands without sbatch
2529 --countries CC ... Limit to these countries (default: all with data on disk)
26- --horizon H ... Default: eos middle-of-season (alias mid → middle-of- season)
30+ --horizon H ... eos | mid | qtr | early (alias early- season; repeatable )
2731 --region-threshold N gpu partition when country has >= N regions (default: 50)
2832 --version N Batch version suffix (default: 3)
2933 --phase MODE screening | walk_forward | all (default: all)
34+ --repetitions N Walk-forward seeds 42..42+N-1 (passed to submit_benchmark.sh)
35+ --skip-naive Omit average/trend jobs
36+ --models FILE Model catalogue for manifest regeneration (default: models.txt)
3037 --force Submit even if manifest batch dir already exists
31- --all-countries Include already-filed batches in --list
38+ --all-countries With --list: include batches that already have manifests
3239 --max N Submit at most N batches this run
3340 --manifest-root DIR Override slurm/manifests parent
3441 --data-dir DIR Override cybench/data
3542
43+ Environment:
44+ HP_TRIALS Optuna trials in screening (default: 100)
45+ WF_REPETITIONS Default for --repetitions when omitted (default: 1)
46+
3647Examples:
37- orchestrate_benchmark_submit.sh --list
48+ orchestrate_benchmark_submit.sh --list --horizon early --version 2
49+ orchestrate_benchmark_submit.sh --horizon early --version 2 --dry-run
50+ export HP_TRIALS=20 WF_REPETITIONS=5
51+ orchestrate_benchmark_submit.sh --horizon early --version 2 --skip-naive --repetitions 5
3852 orchestrate_benchmark_submit.sh --countries IN --horizon eos
3953 orchestrate_benchmark_submit.sh --region-threshold 50 --max 3
4054EOF
@@ -63,6 +77,9 @@ MANIFEST_ROOT="${SLURM_DIR}/manifests"
6377DATA_DIR=" "
6478COUNTRIES=()
6579HORIZONS=()
80+ WF_REPETITIONS=" ${WF_REPETITIONS:- } "
81+ SKIP_NAIVE=false
82+ MODELS_FILE=" "
6683
6784while [[ $# -gt 0 ]]; do
6885 case " $1 " in
@@ -120,6 +137,18 @@ while [[ $# -gt 0 ]]; do
120137 DATA_DIR=$2
121138 shift 2
122139 ;;
140+ --repetitions)
141+ WF_REPETITIONS=$2
142+ shift 2
143+ ;;
144+ --skip-naive)
145+ SKIP_NAIVE=true
146+ shift
147+ ;;
148+ --models)
149+ MODELS_FILE=$2
150+ shift 2
151+ ;;
123152 -h|--help)
124153 usage
125154 exit 0
@@ -184,6 +213,15 @@ for line in "${PLAN_LINES[@]}"; do
184213 if [[ " ${GPU_MODE} " == " cpu" ]]; then
185214 cmd+=(--cpu)
186215 fi
216+ if [[ -n " ${WF_REPETITIONS} " ]]; then
217+ cmd+=(--repetitions " ${WF_REPETITIONS} " )
218+ fi
219+ if [[ " ${SKIP_NAIVE} " == true ]]; then
220+ cmd+=(--skip-naive)
221+ fi
222+ if [[ -n " ${MODELS_FILE} " ]]; then
223+ cmd+=(--models " ${MODELS_FILE} " )
224+ fi
187225 if [[ " ${DRY_RUN} " == true ]]; then
188226 cmd+=(--dry-run)
189227 fi
0 commit comments