bench.sh 1.1 KB

1234567891011121314
  1. #!/usr/bin/env bash
  2. # Run benchmarks/overnight_bench.py from spark2 (a worker, off the head's CPU) and
  3. # join the head's "Decode batch" acceptance lines for each phase window.
  4. # Usage: scripts/overnight/bench.sh LABEL [reps] [max_tokens] (PHASES=c1,c4)
  5. set -euo pipefail
  6. ROOT="$(cd "$(dirname "$0")/../.." && pwd)"; cd "$ROOT"
  7. LABEL="$1"; REPS="${2:-5}"; MAXT="${3:-512}"
  8. R="${RESULTS_DIR:?set RESULTS_DIR}"; mkdir -p "$R"
  9. REM="ssh -i $HOME/.ssh/id_ed25519_shared -o IdentitiesOnly=yes zurih@spark2"
  10. KEY=$(cat state/api-key 2>/dev/null || true)
  11. scp -q -i ~/.ssh/id_ed25519_shared benchmarks/overnight_bench.py zurih@spark2:/tmp/overnight_bench.py
  12. $REM "rm -f /tmp/ob-$LABEL.jsonl; API_KEY=$KEY PHASES=${PHASES:-c1,c4} C1_WORKLOADS=${C1_WORKLOADS:-prose,code,chat_sampled,prose2} BASE_URL=http://10.0.0.1:8888 python3 /tmp/overnight_bench.py /tmp/ob-$LABEL.jsonl $REPS $MAXT" | tr -d '\r' | tee "$R/bench-$LABEL.txt"
  13. scp -q -i ~/.ssh/id_ed25519_shared "zurih@spark2:/tmp/ob-$LABEL.jsonl" "zurih@spark2:/tmp/ob-$LABEL.summary.json" "$R/"
  14. python3 scripts/overnight/accept.py "$R/ob-$LABEL.summary.json" | tee -a "$R/bench-$LABEL.txt"