File size: 1,475 Bytes
1f88cea | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 | #!/bin/bash
#SBATCH -C gpu # Use GPU nodes
#SBATCH -q regular # Queue/partition
#SBATCH -t 03:00:00 # Walltime per array task
#SBATCH -N 1 # Number of nodes per task
#SBATCH --gpus-per-node=1 # 1 GPU per task
#SBATCH --array=1-2 # Job array indices. Override this.
#SBATCH --mem=64G
#SBATCH -J boltzgen
set -euo pipefail
set -x
echo "Starting job on host: $(hostname)"
echo "SLURM job ID: ${SLURM_JOB_ID:-unknown}"
echo "Array job ID: ${SLURM_ARRAY_JOB_ID:-unknown}"
echo "Array task ID: ${SLURM_ARRAY_TASK_ID:-unknown}"
echo "Nodes: ${SLURM_JOB_NUM_NODES}"
if [[ $# -lt 3 ]]; then
echo "Usage: $0 <design_spec> <outdir> <num_designs_per_job> <conda_environment>" >&2
exit 1
fi
design_spec="$1"
outdir="$2"
num_designs="${3}"
conda_environment="${4}"
shift 4 # Remove parsed args
extra_args=("$@") # Store everything else
echo "Design spec: $design_spec"
echo "Output dir: $outdir"
echo "Num designs: $num_designs"
echo "Conda environment: $conda_environment"
module load conda
conda activate "$conda_environment"
which python
which boltzgen
nvidia-smi
job_outdir="${outdir}/task-${SLURM_ARRAY_JOB_ID}-${SLURM_ARRAY_TASK_ID}"
mkdir -p "${job_outdir}"
srun --ntasks=1 --gpus-per-task=1 \
boltzgen run "$design_spec" \
--output "${job_outdir}" \
--num_designs "$num_designs" \
"${extra_args[@]}"
|