#!/bin/bash # Conflict-arrival curricula (manuscript revision 2026-09-12): seeds 1-3 x {early, early_obl, late, # late_obl} = 12 elements. early/late = isolated + declinable society (~40 min); *_obl = obligate # society only (~20 min). Output results/llm_curriculum_v5_/s{seed}/. # submit: qsub hpc/llm_curriculum_timing.pbs status: qstat -u $USER -t # index -> seed = 1 + (i-1)/4, name = (early early_obl late late_obl)[(i-1)%4] #PBS -l select=1:ncpus=8:mem=64gb:ngpus=1:gpu_type=L40S #PBS -l walltime=01:30:00 #PBS -N lam_timing #PBS -J 1-12 cd "$PBS_O_WORKDIR" export HF_HOME="$EPHEMERAL/hf_cache" export HF_DATASETS_CACHE="$EPHEMERAL/hf_cache/datasets" export TOKENIZERS_PARALLELISM=false export UV_CACHE_DIR="$EPHEMERAL/uvcache" export PYTORCH_CUDA_ALLOC_CONF=expandable_segments:True source .venv/bin/activate nvidia-smi --query-gpu=name,memory.total,driver_version --format=csv,noheader mkdir -p configs/llm/_gen NAMES=(early early_obl late late_obl) I=$((PBS_ARRAY_INDEX - 1)) SEED=$((1 + I / 4)) NAME=${NAMES[$((I % 4))]} echo "seed=$SEED config=$NAME start=$(date)" CFG="configs/llm/_gen/curriculum_v5_${NAME}_s${SEED}.yaml" python - "$SEED" "$NAME" "$CFG" <<'PYEOF' import sys, yaml seed, name, out = int(sys.argv[1]), sys.argv[2], sys.argv[3] cfg = yaml.safe_load(open(f"configs/llm/curriculum_v5_{name}.yaml")) cfg["seed"] = seed cfg["batch_size"] = 48 # L40S: 46 GB (matches the v5 seeds 2-3 runs) cfg["train_batch_size"] = 4 cfg["output"] = {"dir": f"results/llm_curriculum_v5_{name}/s{seed}"} yaml.safe_dump(cfg, open(out, "w"), sort_keys=False) PYEOF python -m llm.experiment "$CFG" echo "done: $(date)"