ICHEC Software
Information about software packages installed on the ICHEC systems.
LAMMPS
Versions Installed
Stokes: 15-Jan-2010
Stoney: 9-Jul-2009
Description
LAMMPS is a classical molecular dynamics code that models an ensemble of particles in a liquid, solid, or gaseous state. It can model atomic, polymeric, biological, metallic, granular, and coarse-grained systems using a variety of force fields and boundary conditions.
In the most general sense, LAMMPS integrates Newton's equations of motion for collections of atoms, molecules, or macroscopic particles that interact via short- or long-range forces with a variety of initial and/or boundary conditions. LAMMPS is most efficient (in a parallel sense) for systems whose particles fill a 3d rectangular box with roughly uniform density.
CUDA implementation is designed to allow an entire LAMMPS calculation, for many timesteps, to run entirely on the GPU (except for inter-processor MPI communication), so that atom-based data (e.g. coordinates, forces) do not have to move back-and-forth between the CPU and GPU. The speed-up advantage of this approach is typically better when the number of atoms per GPU is large. Data will stay on the GPU until a timestep where a non-GPU-ized fix or compute is invoked. Whenever a non-GPU operation occurs (fix, compute, output), data automatically moves back to the CPU as needed. This may incur a performance penalty, but should otherwise work transparently. Neighbor lists for GPU-ized pair styles are constructed on the GPU. The package only supports use of a single CPU (core) with each GPU.
License
LAMMPS is a freely-available open-source code, distributed under the terms of the GNU Public License, which means you can use or modify the code however you wish.
Benchmarks
N/A.
Additional Notes
To use LAMMPS, load the environment module:
or to select a specific version:
LAMMPS simulations should be submitted using a PBS script. For information on how to write a PBS script, please refer to the batch processing tutorial on our tutorials page or the documentation section. For 12 MPI processes, the LAMMPS executable may be run as follows (after loading the appropriate module):
To run LAMMPS with CUDA support on Stoney follow this example:
#!/bin/bash
#PBS -N LAMMPS_Test
#PBS -A ngche005b
#PBS -q GpuQ
#PBS -r n
#PBS -l nodes=2:ppn=8,walltime=24:00:00
cd $PBS_O_WORKDIR
module load lammps/cuda
mpiexec -npernode 2 lmp_stoney -input your_example
Further information can be obtained at http://lammps.sandia.gov/.
