CRC Wiki
CRC Wiki
Log in

GROMACS

From CRC Wiki

General Description

GROMACS is a versatile package to perform molecular dynamics, i.e. simulate the Newtonian equations of motion for systems with hundreds to millions of particles.

It is primarily designed for biochemical molecules like proteins and lipids that have a lot of complicated bonded interactions, but since GROMACS is extremely fast at calculating the nonbonded interactions (that usually dominate simulations) many groups are also using it for research on non-biological systems, e.g. polymers.


Basic Usage

Pre- and post-processing tools are available after loading gromacs module:

module load gromacs 

A job script example for running Gromacs:

#!/bin/csh

#$ -M netid@nd.edu    # Email address for job notification
#$ -m bea             # Send e-mail when job begins, ends and aborts
#$ -N gromacsjob      # Specify job name
#$ -q long            # Specify "long" queue         
#$ -pe mpi-12 24       # Request 24 cores to run on two 12-core nodes     

module load gromacs/5.0.4           # Required modules

mpirun -np $NSLOTS mdrun      # run single-precision gromacs

Gromacs with GPU Acceleration

More information on Gromacs acceleration using GPU can be found here. To run the GPU version of Gromacs, please send a request to CRCSupport@nd.edu. The following is a job script example for running Gromacs 4.6 accelerated with GPU:

#!/bin/csh

#$ -M netid@nd.edu       # Email address for job notification
#$ -m bea                # Send e-mail when job begins, ends and aborts
#$ -N gpu-gromacs        # Specify job name
#$ -q gpu                # Run on the GPU cluster (4 devices per node)         
#$ -pe smp 16             #  

module load gromacs/4.6-gpu             # Required modules

mpirun -np 4 mdrun_mpi -gpu_id 0123 # Run with four MPI tasks and four GPU devices

Further Information

Please note the "smp 16" line. This allows users to request the entire machine. Since UGE does not know about GPUs, it is necessary to request the entire machine to prevent multiple GPU jobs from trying to use the same GPUs.