MOLECULAR DYNAMICS PERFORMANCE GUIDE - Digital Research Alliance of CANADA

SOFTWARE DETAILS

ID=29, GROMACS.cuda

  • Module/Version: gromacs/2022.3
  • Toolchain/Version: gofbc/2020.1.403.114
  • CPU instruction set: avx2
  • Example job submission script:

    #!/bin/bash
    #SBATCH --mem-per-cpu=2000 --time=10:0:0 -c1 --ntasks=1 --gpus-per-node=v100:1

    export OMP_NUM_THREADS="${SLURM_CPUS_PER_TASK:-1}"
    module load ml StdEnv/2020 gcc/9.3.0 cuda/11.4 openmpi/4.0.3 gromacs/2022.3
    gmx mdrun -s topol.tpr -cpi state.cpi

  • Benchmark submission script:
      

    #!/bin/bash
    #SBATCH --mem-per-cpu=2000 --time=1:0:0 -c12 --ntasks=1
    #SBATCH --gpus-per-node=1 --nodes=1 -A def-svassili

    td=$SLURM_TMPDIR
    wd=$SLURM_SUBMIT_DIR
    cp topol.tpr $td && cd $td
    module load ml StdEnv/2020 gcc/9.3.0 cuda/11.4 openmpi/4.0.3 gromacs/2022.3
    gmx mdrun -ntomp ${SLURM_CPUS_PER_TASK:-1} \
    -nb gpu -pme gpu -update gpu -bonded cpu -s topol.tpr

    # Print CPU info and timing into SLURM log
    grep Brand md.log
    grep -A1 "Number of GPUs detected:" md.log | tail -n1
    grep "The number of OpenMP threads" md.log
    grep Performance: md.log
    cp md.log $wd