File size: 1,220 Bytes
6b56858 | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 | #!/usr/bin/env bash
# Submit with an explicit site-specific array, e.g. --array=0-129.
# No partition, GPU type, or walltime is hard-coded here.
#SBATCH --job-name=dlb-generate
#SBATCH --output=results/logs/slurm-generate-%A_%a.out
#SBATCH --error=results/logs/slurm-generate-%A_%a.err
set -euo pipefail
ROOT="${DLB_ROOT:-${SLURM_SUBMIT_DIR}}"
MATRIX="${DLB_MATRIX:-$ROOT/results/matrix/generation.tsv}"
if [[ ! -f "$MATRIX" ]]; then
PYTHONPATH="$ROOT/src${PYTHONPATH:+:$PYTHONPATH}" "${DLB_PYTHON:-python}" -m dlb.matrix \
--root "$ROOT" --output "$MATRIX" --sample-count 1024 --seed 42
fi
line_number=$((SLURM_ARRAY_TASK_ID + 3))
IFS=$'\t' read -r task_id category model dataset steps sample_count seed environment adapter source provenance sample_dir metrics_path timing_path \
< <(sed -n "${line_number}p" "$MATRIX")
[[ -n "${task_id:-}" && "$task_id" != "task_id" ]] || { echo "invalid matrix row $line_number" >&2; exit 2; }
mkdir -p "$ROOT/results/logs"
export PYTHONPATH="$ROOT/src${PYTHONPATH:+:$PYTHONPATH}"
exec "${DLB_CONDA:-conda}" run -n "$environment" python -m dlb.runner \
--root "$ROOT" --model "$model" --dataset "$dataset" --steps "$steps" \
--num-samples "$sample_count" --seed "$seed"
|