#!/bin/bash #SBATCH --job-name=tm_diffgate #SBATCH --partition=athena-genai,athena,athena-mini,athena-small #SBATCH --nodes=1 #SBATCH --ntasks=1 #SBATCH --cpus-per-task=2 #SBATCH --mem=8G #SBATCH --time=00:10:00 #SBATCH --output=/home/tl356/LLaDA/logs/%j_tm_diffgate.out #SBATCH --error=/home/tl356/LLaDA/logs/%j_tm_diffgate.err # # HARD GATE between compression and eval. Runs summary_diff.py on the two # all-linear r=0.7 summaries; exits non-zero on any mismatch beyond noise fields. # Downstream BASE/OURS eval jobs are submitted with --dependency=afterok:, # so a FAIL here auto-cancels them (Slurm never runs eval on a failed gate). # sbatch --dependency=afterok:: jobs/diff_gate.sbatch weights/base/all_r07 weights/ours/all_r07 set -euo pipefail source /home/tl356/miniconda3/etc/profile.d/conda.sh conda activate llada cd /home/tl356/LLaDA/trajmc_main BASE=${1:-weights/base/all_r07} OURS=${2:-weights/ours/all_r07} echo "node=$(hostname) diff_gate base=$BASE ours=$OURS start=$(date)" python analysis/summary_diff.py --base "$BASE" --ours "$OURS" rc=$? echo "diff_gate exit=$rc (0=PASS -> eval proceeds; nonzero=FAIL -> eval cancelled) $(date)" exit $rc