#!/usr/bin/env bash
set -Eeuo pipefail
ROOT=/home/jiachen/TRELLIS
EXP_ROOT=$ROOT/experiments/nonorthogonal_gpt_orthoview
PY=/home/jiachen/miniconda3/envs/trellis2/bin/python
DATA_ROOT=/data/jiachen/trellis2_vggt_toys4k_25views
LOG_ROOT=/home/jiachen/TRELLIS/experiments/nonorthogonal_gpt_orthoview/outputs/logs/a80_25view_manual_cache_20260730_081209
cd "$ROOT"
for split in train512 val64; do
  root="$DATA_ROOT/$split"
  for rank in 0 1 2 3; do
    gpu=$((rank+4))
    (
      set +e
      export CUDA_VISIBLE_DEVICES="$gpu"
      "$PY" "$EXP_ROOT/cache_toys4k_vggt_features.py"         --root "$root"         --render-root "$root/renders_cond"         --output "$root/features"         --device cuda:0         --rank "$rank"         --world-size 4         > "$LOG_ROOT/${split}_rank_${rank}.log" 2>&1
      echo "$?" > "$LOG_ROOT/${split}_rank_${rank}.exit"
    ) &
  done
done
wait
