LAMMPS¶
Description¶
LAMMPS is a classical molecular dynamics simulation code designed to run efficiently on parallel computers. It was developed at Sandia National Laboratories, a US Department of Energy facility, with funding from the DOE. It is an open-source code, distributed freely under the terms of the GNU Public License (GPL).
The primary author of the code is Steve Plimpton, who can be emailed at sjplimp@sandia.gov. The LAMMPS WWW Site at lammps.sandia.gov has more information about the code and its uses.
Environment Modules¶
Run module spider lammps
to find out what environment modules are available for this application.
Environment Variables¶
- HPC_LAMMPS_DIR - installation directory
- HPC_LAMMPS_BIN - bin directory
Additional Usage Information¶
The GNU version of LAMMPS supports external packages: PLUMED, EXTRA-MOLECULE, EXTRA-COMPUTE, MISC, ML-QUIP, INTEL and KOKKOS
. The Intel version of LAMMPS only includes default packages. HPG staff's goal is to build software with widely used external packages. The users who need packages that are not in the HPG installation can make their custom installation in their local environment in consultation with the HPG staff.
To execute lammps binaries set up the appropriate environment variables and execute them with srun using the pmix level corresponding to the openmpi version used to build the binary. E.g. the command will look similar to
srun --mpi=${HPC_PMIX} $LAMMPS -sf gpu -pk gpu 2 -var x 2 -var y 7 -var z 7 < in.$job
Standard installation:¶
For standard or user-customized installations, the fastest way is to use cmake.
cd <install-dir>
tar xzf lammps-<version>.tar.gz
cd lammps-<version>
ml purge
ml cmake/<version> intel/<version> openmpi/<version>
ml list
mkdir build
cd build
cmake -D CMAKE_INSTALL_PREFIX=<target_lammps_dir> ../cmake
make -j8
make install
Presets and Containers¶
Using presets for customization - e.g. for a very rich set of packages:
cmake -D CMAKE_INSTALL_PREFIX=<target_lammps_dir> -C ../cmake/presets/all_on.cmake -C ../cmake/presets/nolib.cmake ../cmake
NGC containers are downloaded and installed from NVIDIA GPU Cloud. Please visit our Modules Help Page for instructions on how to set up a personal module environment
ml purge
ml ngc-lammps
srun --mpi=pmix_v3 lmp <your_parameters> (see below for a sample slurm script)
Note: HPG staff can be consulted for custom installation of LAMMPS. Submit a support ticket addressed to Ajith Perera.
LAMMPS Versions:¶
LAMMPS at HiperGator is installed in three flavors:
- GNU compiler with openmpi
- GNU compiler with openmpi and cuda supported
- Intel compiler with openmpi
You can use an NVIDIA NGC container https://catalog.ngc.nvidia.com/orgs/hpc/containers/lammps
Job Script Examples¶
#!/bin/bash
#SBATCH --job-name=<JOBNAME>
#SBATCH --mail-user=<EMAIL>
#SBATCH --mail-type=FAIL,END
#SBATCH --output <my_job-%j.out>
#SBATCH --error <my_job-%j.err>
#SBATCH --nodes=4
#SBATCH --ntasks=4
#SBATCH --cpus-per-task=1
#SBATCH --ntasks-per-socket=4
#SBATCH --ntasks-per-node=4
#SBATCH --mem-per-cpu=2gb
#SBATCH --time=01:00:00
#SBATCH --account=<GROUP>
#SBATCH --array=<BEGIN-END>
module load gcc/12.2.0 lammps/02Aug23
LAMMPS=lmp_mpi
INPUT=<input_file>
srun --mpi=pmix_v3 $LAMMPS < $INPUT > log.out 2>&1
Disclaimer: The above slurm configuration is for demonstrative purposes only. The users must tailor it to their specific needs and the available resources.
Categories¶
molecular_dynamics