| #!/bin/bash |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
|
|
| set -euo pipefail |
|
|
| PROJECT_DIR="${PROJECT_DIR:-$PWD}" |
| VENV_PATH="${VENV_PATH:-$PROJECT_DIR/.venv}" |
| TASKS_PATH="${TASKS_PATH:-$PROJECT_DIR/data/tasks.jsonl}" |
| OUT_ROOT="${OUT_ROOT:-$PROJECT_DIR/data/cil_array}" |
| BACKEND="${BACKEND:-toy}" |
| NUM_WORKERS="${NUM_WORKERS:-4}" |
| STATES_PER_TASK="${STATES_PER_TASK:-1000}" |
| K="${K:-32}" |
| SHARD_SIZE="${SHARD_SIZE:-10000}" |
| SEED_BASE="${SEED_BASE:-0}" |
| RAY_ADDRESS="${RAY_ADDRESS:-}" |
| RESUME_FLAG="${RESUME_FLAG:-}" |
|
|
| mkdir -p "${DOVLA_LOG_DIR:-logs/slurm}" "$OUT_ROOT" |
| cd "$PROJECT_DIR" |
|
|
| if [ -f "$VENV_PATH/bin/activate" ]; then |
| |
| source "$VENV_PATH/bin/activate" |
| fi |
|
|
| export OPENCLAUDE_BASE_URL="${OPENCLAUDE_BASE_URL:-https://open-claude.com/v1}" |
| export OPENCLAUDE_MODEL="${OPENCLAUDE_MODEL:-<model>}" |
| |
|
|
| SEED=$((SEED_BASE + SLURM_ARRAY_TASK_ID)) |
| OUT_DIR="$OUT_ROOT/part_${SLURM_ARRAY_TASK_ID}" |
|
|
| CMD=( |
| python scripts/generate_cil_distributed.py |
| --backend "$BACKEND" |
| --tasks "$TASKS_PATH" |
| --out "$OUT_DIR" |
| --num-workers "$NUM_WORKERS" |
| --num-states-per-task "$STATES_PER_TASK" |
| --k "$K" |
| --seed "$SEED" |
| --shard-size "$SHARD_SIZE" |
| ) |
|
|
| if [ -n "$RAY_ADDRESS" ]; then |
| CMD+=(--ray-address "$RAY_ADDRESS") |
| fi |
| if [ -n "$RESUME_FLAG" ]; then |
| CMD+=(--resume) |
| fi |
|
|
| "${CMD[@]}" |
|
|