==== Job Desmond ====
=== Job Desmond GPU ===
Example script ''desmond-md-gpu.sh'' to launch Desmond multisim on 1 node, 1 core, 1 GPU:
#!/bin/sh
#SBATCH --job-name=desmond_md_gpu
#SBATCH --output=%x.o%j
#SBATCH --error=%x.e%j
#SBATCH --nodes=1
#SBATCH --ntasks-per-node=1
#SBATCH --gres=gpu:1
#SBATCH --time=0-24:00:00
#SBATCH --mem=10G
#SBATCH --partition=gpu
#
# Charge resources to account
#SBATCH --account=
test -n "$SLURM_NODELIST" || exit
module load cuda
module load schrodinger
if [ -d '/node' ]; then
SCHRODINGER_TMPDIR='/node'
else
SCHRODINGER_TMPDIR=$(dirname "$SCRATCH")
fi
export SCHRODINGER_TMPDIR
cd "$SLURM_SUBMIT_DIR"
test -n "$STAGE" || STAGE=1
test $STAGE -eq 1 && \
multisim \
-WAIT \
-JOBNAME "$SLURM_JOB_NAME" \
-m "${SLURM_JOB_NAME}-in.msj" \
-o "${SLURM_JOB_NAME}-out.cms" \
-maxjob $SLURM_NTASKS_PER_NODE \
-cpu $SLURM_NTASKS_PER_NODE \
-set stage[1].set_family.md.jlaunch_opt=[-gpu]
test $STAGE -gt 1 && \
multisim \
-WAIT \
-JOBNAME "$SLURM_JOB_NAME" \
-RESTART "${SLURM_JOB_NAME}-multisim_checkpoint:${STAGE}" \
-d "${SLURM_JOB_NAME}_$((STAGE-1))-out.tgz" \
-o "${SLURM_JOB_NAME}-out.cms" \
-maxjob $SLURM_NTASKS_PER_NODE \
-cpu $SLURM_NTASKS_PER_NODE \
-set stage[1].set_family.md.jlaunch_opt=[-gpu]
For the first stage of the Desmond multisim workflows you can use:
sbatch desmond-md-gpu.sh
To pass the value of the variable STAGE into the job script named ''desmond-md-gpu.sh'' you can use:
sbatch --export=STAGE=2 desmond-md-gpu.sh