Turing: LAMMPS

Introduction

LAMMPS is a classical molecular dynamics software. It allows modeling various materials (metals, semiconductors, polymers, biomolecules, etc.) as well as mesoscopic systems (coarse-grain type).

Availability

This software is not presented with version numbers. The date on which the version was published is officially used as its designation. There are frequently new versions, sometimes daily, but only the “stable” versions are installed on our machines. Do not hesitate to contact the IDRIS support team if you wish to install a particular version.

The software is parallelised with MPI or hybrid MPI/OpenMP.

The installed versions are :

  • 10 October 2012 (MPI)
  • 01 February 2014 (default version, MPI/OpenMP)
  • 09 December 2014 (MPI/OpenMP)

Launching script

To know which LAMMPS versions are installed:

module avail lammps

To load the default version:

module load lammps

To load a particular version, for example, lammps/2014.02.01 :

module load lammps/2014.02.01

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

job.ll
# @ job_name         = LAMMPS
# @ job_type         = bluegene
# @ bg_size          = 64
# @ output           = $(job_name).$(jobid)
# @ error            = $(job_name).$(jobid)
# @ wall_clock_limit = 10:00:00
# @ queue
 
### Module initialisation ###
module load lammps
 
### Command echoes ###
set -x
 
### Run the calculation ###
runjob --np 1024 --ranks-per-node 16 --envs="OMP_NUM_THREADS=4" : $LAMMPS_EXEDIR/lmp -sf omp < in.indent

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

job.ll
# @ job_name         = LAMMPS
# @ job_type         = bluegene
# @ bg_size          = 64
# @ output           = $(job_name).$(jobid)
# @ error            = $(job_name).$(jobid)
# @ wall_clock_limit = 01:00:00
# @ queue
 
### Module initialisation ###
module load lammps/2012.10.10
 
### Command echoes ###
set -x
 
### Copy to the TMPDIR ###
cp ./* $TMPDIR
 
### Run the calculation ###
cd $TMPDIR
runjob --np 4096 --ranks-per-node 64 : $LAMMPS_EXEDIR/lmp -in in.indent
 
### Copy to the submission folder ###
cd -
cp $TMPDIR/* .

Benefits of the hybrid versions

Beginning with the 01 February 2014 version, LAMMPS is installed at IDRIS with hybrid MPI/OpenMP parallelisation. To activate a hybrid LAMMPS version without modifying your input file, it is necessary to add the -sf omp option when launching the software and to indicate the number of OpenMP threads in the Loadleveler directives of the script.

This installation activates numerous code optimisations even if you use it only for MPI (number of OpenMP threads must be set at 1) where the gain in restitution time can be up to 20%.

Regarding performance, the efficiency of the OpenMP threads strongly depends on the parameters set in your data files. This is so much the case that it is generally more efficient to use only the MPI tasks (but still keep the -sf omp option).

Documentation