Turing: NAMD

Introduction

NAMD is a classical molecular dynamics software. It allows high performance simulations of large-sized biomolecular systems.

Availability

The available versions are:

  • 2.8
  • 2.9 (default version)
  • 2.10, hybrid parallelisation

This software is available on Turing in mode parallel MPI or hybrid MPI/OpenMP.

Launching script

The following is an example of a launching script for a calculation executed in hybrid parallelisation in the WORKDIR:

job.ll
# @ job_name         = NAMD
# @ bg_size          = 64
# @ job_type         = bluegene
# @ output           = $(job_name).$(jobid)
# @ error            = $(job_name).$(jobid)
# @ wall_clock_limit = 01:00:00
# @ queue
 
### Module initialisation ###
module load namd/2.10
 
### Command echoes ###
set -x
 
### Run the calculation ###
runjob --np 512 --ranks-per-node=8 --envs "OMP_NUM_THREADS=4" : $NAMD_EXEDIR/namd2 +ppn4 calcul.namd

The following is an example of a launching script for a calculation executed in parallel MPI in the TMPDIR:

job.ll
# @ job_name         = NAMD
# @ bg_size          = 64
# @ job_type         = bluegene
# @ output           = $(job_name).$(jobid)
# @ error            = $(job_name).$(jobid)
# @ wall_clock_limit = 01:00:00
# @ queue
 
### Module initialisation ###
module load namd/2.8
 
### Command echoes ###
set -x
 
### Copy to the TMPDIR ###
cp ./* $TMPDIR
 
### Run the calculation ###
cd $TMPDIR
runjob --np 1024 --ranks-per-node 16 : $NAMD_EXEDIR/namd2 calcul.namd
 
### Copy to the submission folder ###
cd -
cp $TMPDIR/* .

The following is an example of a script submission command for job.ll:

llsubmit job.ll

Parameters specific to the software

Hybrid parallelisation

NAMD has been installed in hybrid parallelisation at IDRIS since the 2.10 version. In order to obtain the maximum performance brought by this parallelisation mode, it is necessary to indicate the adapted options when launching the calculation. Using the first example shown above of a launching script in hybrid parallelisation, the options permitting the activation of this mode are:

  • --envs "OMP_NUM_THREADS=n : a runjob command option which allows you to indicate to the system the use of n threads OpenMP
  • +ppnX : an NAMD option which allows you to indicate X number of workers per MPI process

The n value corresponds to the formula n = 32 / ranks-per-node. The value of X must be equal to the value of n. Attention: Forgetting to indicate either one or the other of these two options will lead to a strong degradation of the performance.

Documentation