Skip to content

Commit b30f510

Browse files
early bird
1 parent c2d2d1e commit b30f510

3 files changed

Lines changed: 58 additions & 20 deletions

File tree

cybench/runs/slurm/README.md

Lines changed: 12 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -178,26 +178,26 @@ cybench/runs/slurm/orchestrate_benchmark_complete.sh \
178178
--all-countries --horizons qtr --version 2 --list
179179
```
180180

181-
**Early season (~25% observed), family representatives only** (xgboost, lpjml_bc, tst_lf, tabdpt; 20 HPO trials, 5 WF seeds — same as v2 benchmark):
181+
**Early season (~25% observed)** — same orchestration as eos/mid/qtr:
182182

183183
```bash
184184
export HP_TRIALS=20 WF_REPETITIONS=5
185-
export CYBENCH_OUTPUT_ROOT=/lustre/backup/SHARED/AIN/agml/output
186185

187-
# Manifests (pass countries explicitly if baselines_*_early_v2 dirs do not exist yet)
188-
cybench/runs/slurm/refresh_batch_manifests.sh \
189-
--horizon early-season --version 2 \
190-
--models cybench/runs/slurm/models_family_reps.txt \
191-
--countries DE FR NL # or omit once early batch dirs exist on lustre
186+
# Preview plan (all countries with yield data)
187+
cybench/runs/slurm/orchestrate_benchmark_submit.sh --list --horizon early --version 2
188+
189+
# Submit all countries
190+
cybench/runs/slurm/orchestrate_benchmark_submit.sh \
191+
--horizon early --version 2 --skip-naive --repetitions 5
192192

193-
# Submit per country (or loop over the same country list)
194-
cybench/runs/slurm/submit_benchmark.sh all \
195-
--horizon early-season --batch baselines_DE_early_v2 \
196-
--skip-naive --repetitions 5
193+
# Family representatives only (xgboost, lpjml_bc, tst_lf, tabdpt)
194+
cybench/runs/slurm/orchestrate_benchmark_submit.sh \
195+
--horizon early --version 2 --skip-naive --repetitions 5 \
196+
--models cybench/runs/slurm/models_family_reps.txt
197197

198198
# Audit / partial reruns
199199
cybench/runs/slurm/orchestrate_benchmark_complete.sh \
200-
--country DE --horizons early-season --version 2 --list
200+
--all-countries --horizons early --version 2 --list
201201
```
202202

203203
Manual per-manifest submits (fine-grained control) are below.

cybench/runs/slurm/orchestrate_benchmark_submit.sh

Lines changed: 44 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@
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'
1617
Usage: 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
2226
Options:
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+
3647
Examples:
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
4054
EOF
@@ -63,6 +77,9 @@ MANIFEST_ROOT="${SLURM_DIR}/manifests"
6377
DATA_DIR=""
6478
COUNTRIES=()
6579
HORIZONS=()
80+
WF_REPETITIONS="${WF_REPETITIONS:-}"
81+
SKIP_NAIVE=false
82+
MODELS_FILE=""
6683

6784
while [[ $# -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

tests/runs/test_benchmark_submit_lib.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -16,8 +16,8 @@
1616
def test_normalize_horizon():
1717
assert normalize_horizon("eos") == "eos"
1818
assert normalize_horizon("mid") == "middle-of-season"
19-
assert normalize_horizon("early-season") == "early-season"
20-
assert horizon_batch_suffix("early-season") == "early"
19+
assert normalize_horizon("early") == "early-season"
20+
assert horizon_batch_suffix("early") == "early"
2121

2222

2323
def test_batch_name():

0 commit comments

Comments
 (0)