Gromacs

Notitle

Gromacs is a molecular dynamics package mainly designed for simulations of proteins, lipids and nucleic acids.

Gromacs is available as a module on Apocrita. On Apocrita, Gromacs is compiled with CPU support (using IntelMPI) and GPU support.

Usage

Each Gromacs version on Apocrita is available with 3 different installation types:

To load the desired Gromacs module, execute:

module load gromacs/<version>-<type>
gmx

The default type is: intelmpi.

To run the latest installed version of Gromacs (intelmpi type), simply load the module:

module load gromacs
gmx

Core Usage

To ensure that Gromacs uses the correct number of cores, the -ntomp=${NSLOTS} option should be used.

Running on CPU

All Gromacs modules for CPU are installed with intelMPI.

Special node type required

Gromacs will run only on nxv nodes, -l node_type=nxv is required in the job script.

intelmpi

This build of Gromacs is installed with the IntelMPI parallelisation to run parallel simulations.

Loading a specific version of Gromacs with intelMPI support:

module load gromacs/<version>-intelmpi
gmx

An example Gromacs with IntelMPI support job script can be found here.

plumed

This Gromacs build is using IntelMPI with the plumed plugin, which provides extra molecular dynamics features and a wide variety of free energy methods.

Loading the specific version of Gromacs with plumed support:

module load gromacs/<version>-plumed
gmx

This build of Gromacs adds the -plumed option to the gmx binary. To check if this option exists, run:

gmx mdrun -h |grep plumed

You should get this output:

Command line:
  gmx mdrun -h

          [-multidir [<dir> [...]]] [-plumed [<.dat>]] [-membed [<.dat>]]
 -plumed [<.dat>]           (plumed.dat)     (Opt.)

An example Gromacs with plumed support can be found here.

Running on GPU

This build of Gromacs provides GPU support; simulation performances with a high calculation intensity on a GPU node.

GPU job submission is required

Gromacs with GPU support requires at least one GPU node. Information on how to submit to GPU nodes is available here.

Loading a specific version of Gromacs with GPU support:

module load gromacs/<version>-gpu

An example Gromacs job script requesting a GPU node can be found here.

Example jobs

Gromacs job submission examples of each type:

intelmpi job

Here is an example of a Gromacs job running on the nxv node type with 32 cores:

#!/bin/sh
#$ -cwd
#$ -pe smp 32
#$ -l h_vmem=1G
#$ -l node_type=nxv

module load gromacs/<version>-intelmpi

gmx grompp -f minim.mdp -c dms_box.gro -p topol.top -o em.tpr
gmx mdrun -ntomp ${NSLOTS} -v -deffnm em

plumed job

Here is an example of a Gromacs with plumed support job running on the nxv node type with 32 cores:

#!/bin/sh
#$ -cwd
#$ -pe smp 32
#$ -l h_vmem=1G
#$ -l node_type=nxv

module load gromacs/<version>-plumed

gmx mdrun -plumed plumed.dat -s topol0.tpr -ntomp ${NSLOTS}

GPU job

Here is an example of a Gromacs job running on 2 GPU cards within 1 entire GPU node:

#!/bin/sh
#$ -cwd
#$ -pe parallel 32
#$ -l gpu=2

module load gromacs/<version>-gpu

gmx grompp -f grompp.mdp -c conf.gro -p topol.top -o em.tpr
gmx mdrun -ntomp ${NSLOTS} -v -deffnm em

References