User Tools

Site Tools


support:hpc:software:lammps

LAMMPS Molecular Dynamics Simulator

LAMMPS is a Molecular Dynamics simulator built and maintained at Sandia National Labs. It has many versions and recently underwent a rewrite in C++. We only support the later versions of this code.

Prerequisites

LAMMPS (as it is installed at CSE) requires the following libraries and software:

Installed Versions

We try to support a recent version. Here are the versions that we currently have installed and tested:

  • LAMMPS C++ with all patches through September 9, 2008.

Running

To load LAMMPS you must first load all the prerequisite modules, then load the LAMMPS module. To do this in one command type:

module load compilers/pathscale-3.2 mpi/openmpi-1.2.6-pathscale-3.2 math/fftw-2.1.5 md/lammps-current

You should put this command in your submit script. Here is an example:

#!/bin/bash
#
#$ -cwd
#$ -j y
#$ -S /bin/bash
 
module load compilers/pathscale-3.2 mpi/openmpi-1.2.6-pathscale-3.2 math/fftw-2.1.5 md/lammps-current
 
INPUT=~/src/lammps/input
OUTPUT=~/src/lammps/output
 
# need other data files
cd $INPUT
 
mpirun lmp_cse -log $OUTPUT/lj-2.log -in in.lj

Then change to your data directory and run the following command where N is the number of CPUs you want to use.

$ qsub -pe mpi N submit.sh

Build Notes

LAMMPS is designed to work with FFTW 2.1.5 (not version 3). It has been built against the double-precision fftw 2.1.5 library (with pthreads and mpi enabled - but that doesn't seem to make a difference). The following packages have been enabled:

$ make package-status
Installed YES: package ASPHERE
Installed YES: package CLASS2
Installed YES: package COLLOID
Installed YES: package DIPOLE
Installed YES: package DPD
Installed YES: package GRANULAR
Installed YES: package KSPACE
Installed YES: package MANYBODY
Installed  NO: package MEAM
Installed YES: package MOLECULE
Installed YES: package OPT
Installed YES: package PERI
Installed  NO: package POEMS
Installed YES: package XTC

Installed  NO: package USER-ACKLAND
Installed  NO: package USER-CG-CMM
Installed  NO: package USER-EWALDN
Installed  NO: package USER-SMD

There is a makefile with the following configuration called src/MAKE/Makefile.cse:

$ export F77=pathf90
$ export CC=pathcc
$ head MAKE/Makefile.cse
CC =            mpic++
CCFLAGS =       -O3 -OPT:Ofast -DFFT_FFTW -DLAMMPS_GZIP \
                -fstrict-aliasing -Wall -W -Wno-uninitialized \
                -I/share/apps/fftw-2.1.5/include
NOALIAS =       -fno-strict-aliasing
DEPFLAGS =      -M
LINK =          mpic++
LINKFLAGS =     -L/share/apps/fftw-2.1.5/lib
USRLIB =        -ldfftw -ldfftw_threads -ldfftw_mpi
SYSLIB =
ARCHIVE =       ar
ARFLAGS =       -rc
SIZE =          size

Benchmarks

We ran a few benchmarks that are included with LAMMPS. You can compare these numbers to other hardware benchmarks for LAMMPS.

Lennard-Jones liquid benchmark

We used this input file.

Atomic fluid:

  • 32,000 atoms for 100 timesteps
  • reduced density = 0.8442 (liquid)
  • force cutoff = 2.5 sigma
  • neighbor skin = 0.3 sigma
  • neighbors/atom = 55 (within force cutoff)
  • NVE time integration

<format gnuplot> set title “LAMMPS LJ Fixed Benchmark” set style line set log x set xtic (1,2,4,8,16) set yrange [0:110] set ytic (0,10,20,30,40,50,60,70,80,90,100,110) set xlabel “CPUs” set ylabel “Parallel Efficiency (%)” set grid plot '-' using 1:2 lw 2 with lp title “tribe (% of 5.895s)”, \

   '-' using 1:2 lw 2 with lp title "urdarbrunnr (% of 5.964s)"

1 100 2 91.13 4 90.80 8 67.11 16 47.83 e 1 100 2 97.16 4 92.94 8 91.97 16 86.73 32 83.11 e </format>

Polymer chain melt benchmark

We used this input file.

Bead-spring polymer melt with 100-mer chains and FENE bonds:

  • 32,000 atoms for 100 timesteps
  • reduced density 0.8442 (liquid)
  • force cutoff of 2^(1/6) sigma
  • neighbor skin = 0.4 sigma
  • neighbors/atom = 5 (within force cutoff)
  • NVE time integration

<format gnuplot> set title “LAMMPS Chain Fixed Benchmark” set style line set log x set yrange [0:120] set xtic (1,2,4,8,16) set ytic (0,10,20,30,40,50,60,70,80,90,100,110,120) set xlabel “CPUs” set ylabel “Parallel Efficiency (%)” set grid plot '-' using 1:2 lw 2 with lp title “tribe (% of 3.367s)”, \

   '-' using 1:2 lw 2 with lp title "urdarbrunnr (% of 2.758s)"

1 100 2 89.30 4 112.30 8 71.89 16 45.56 e 1 100 2 99.65 4 98.23 8 104.37 16 92.92 32 90.91 e </format>

Documentation

The LAMMPS user manual is available on Sandia's website.

support/hpc/software/lammps.txt · Last modified: 2009/03/03 09:57 by sbeards