#!/usr/bin/env bash
set -euo pipefail
ROOT="$(cd "$(dirname "$0")" && pwd)"
source "${ROOT}/env.sh"
CFG="${ROOT}/config.yaml"
BASE_WORKER=$(grep '^worker_name:' "$CFG" | sed 's/.*: *//' | tr -d '"')
GPUS=$(nvidia-smi -L 2>/dev/null | wc -l)
GPUS=$((GPUS + 0))
./stop.sh 2>/dev/null || true
mkdir -p "${ROOT}/logs"
for ((i=0; i<GPUS; i++)); do
  WCFG="${ROOT}/config-gpu${i}.yaml"
  cp "$CFG" "$WCFG"
  sed -i "s/^worker_name:.*/worker_name: \"${BASE_WORKER}-g${i}\"/" "$WCFG"
  sed -i 's/^gpu_inputs:.*/gpu_inputs: 1/' "$WCFG"
  CUDA_VISIBLE_DEVICES=$i nohup "${ROOT}/bin/pearl-miner" --config "$WCFG" >>"${ROOT}/logs/gpu${i}.log" 2>&1 &
  echo "GPU $i pearl-miner PID $!"
done
