#!/bin/bash # Seeds 2-3 of the LLM speciation tier (manuscript revision 2026-09-12; Fig. 5C-D was single-seed). # One element per seed; output results/llm_speciation/s{seed}/ (seed 1 moved to s1/). Adapters go to # a seed-specific scratch dir, so the elements can run concurrently. # submit: qsub hpc/llm_speciation_seeds.pbs status: qstat -u $USER -t #PBS -l select=1:ncpus=8:mem=64gb:ngpus=1:gpu_type=L40S #PBS -l walltime=01:30:00 #PBS -N lam_spec_seeds #PBS -J 2-3 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 SEED=$PBS_ARRAY_INDEX echo "seed=$SEED start=$(date)" CFG="configs/llm/_gen/speciation_s${SEED}.yaml" python - "$SEED" "$CFG" <<'PYEOF' import sys, yaml seed, out = int(sys.argv[1]), sys.argv[2] cfg = yaml.safe_load(open("configs/llm/speciation.yaml")) cfg["seed"] = seed cfg["batch_size"] = 32 # L40S: 46 GB cfg["output"] = {"dir": f"results/llm_speciation/s{seed}"} yaml.safe_dump(cfg, open(out, "w"), sort_keys=False) PYEOF python -m llm.experiment "$CFG" echo "done: $(date)"