#!/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_080305
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
