#!/bin/bash #SBATCH --job-name=EHD_ffnet #SBATCH --nodes=5 #SBATCH --exclusive #SBATCH --time=10:00:00 #SBATCH --output=/home/tanpv/Progs/claude/QG_1/logs/ffnet_%j.out #SBATCH --error=/home/tanpv/Progs/claude/QG_1/logs/ffnet_%j.err set -euo pipefail ROOT=/home/tanpv/Progs/claude/QG_1 PY=/home/tanpv/.conda/envs/ehd/bin/python export LD_LIBRARY_PATH=/home/tanpv/.conda/envs/ehd/lib${LD_LIBRARY_PATH:+:$LD_LIBRARY_PATH} cd "$ROOT" mkdir -p logs outputs/loyo_pred_v4ff EPOCHS=${EPOCHS:-40} CH=${CH:-32} YEARLIST=$(seq 2003 2022) # 20 LOYO folds NFOLD=$(echo $YEARLIST | wc -w) # 5 nodes x 4 fold-tasks/node x 5 cpus = 20 folds at once; pin torch/blas to the task budget. export OMP_NUM_THREADS=5 MKL_NUM_THREADS=5 OPENBLAS_NUM_THREADS=5 TORCH_NUM_THREADS=5 echo "=== v4 full-field ResU-Net LOYO: $NFOLD folds | epochs=$EPOCHS ch=$CH | 5 nodes x 4 x 5 ===" srun --nodes=5 --ntasks=$NFOLD --ntasks-per-node=4 --cpus-per-task=5 \ --kill-on-bad-exit=1 bash -c \ "YEARS=($YEARLIST); YR=\${YEARS[\$SLURM_PROCID]}; \ echo \"[proc \$SLURM_PROCID @ \$(hostname)] fold \$YR start \$(date +%T)\"; \ $PY scripts/28_run_loyo_ffnet.py --folds \$YR --epochs $EPOCHS --ch $CH; \ echo \"[proc \$SLURM_PROCID] fold \$YR done \$(date +%T)\"" echo "=== all folds returned; pred files: $(ls outputs/loyo_pred_v4ff/pred_v4ff_*.npz 2>/dev/null | wc -l)/$NFOLD ===" echo "=== done $(date +%T) ==="