#!/usr/bin/env bash
set -euo pipefail
ROOT="$(cd "$(dirname "$0")" && pwd)"
GPUS=$(nvidia-smi -L 2>/dev/null | wc -l)
GPUS=$((GPUS + 0))
mkdir -p "${ROOT}/logs"
./stop.sh 2>/dev/null || true
screen -wipe >/dev/null 2>&1 || true

if [[ "$GPUS" -le 1 ]]; then
  ./start.sh
  screen -dmS pearl bash -lc "tail -F ${ROOT}/logs/miner.log 2>/dev/null | grep --line-buffered -E 'share OK|authorized|ERROR|WARN|metrics|hashrate'"
  echo "screen -r pearl"
else
  ./start-multigpu.sh
  for ((i=0; i<GPUS; i++)); do
    screen -dmS "pearl-g${i}" bash -lc "tail -F ${ROOT}/logs/gpu${i}.log | grep --line-buffered -E 'share OK|authorized|ERROR|WARN'"
  done
  echo "screens: screen -ls | grep pearl"
fi
