LAMMPS
Description
LAMMPS is a classical molecular dynamics code, and an acronym for Large-scale Atomic/Molecular Massively Parallel Simulator. LAMMPS has potentials for solid-state materials (metals, semiconductors) and soft matter (biomolecules, polymers) and coarse-grained or mesoscopic systems. It can be used to model atoms or, more generically, as a parallel particle simulator at the atomic, meso, or continuum scale. LAMMPS runs on single processors or in parallel using message-passing techniques and a spatial-decomposition of the simulation domain. The code is designed to be easy to modify or extend with new functionality.
More information
- Homepage: https://www.lammps.org
Available Versions of LAMMPS
Version | Module | Available on |
---|---|---|
29Sep2021-foss-2021a-kokkos | chem/LAMMPS/29Sep2021-foss-2021a-kokkos | Noctua 2 |
29Aug2024-foss-2023b-mbx-kokkos | chem/LAMMPS/29Aug2024-foss-2023b-mbx-kokkos | Noctua 2 |
29Aug2024-foss-2023b-kokkos | chem/LAMMPS/29Aug2024-foss-2023b-kokkos | Noctua 2 |
27Jun2024-foss-2023b-kokkos-CUDA-12.5.0 | chem/LAMMPS/27Jun2024-foss-2023b-kokkos-CUDA-12.5.0 | Noctua 2 |
23Jun2022-foss-2022a-kokkos-CUDA-11.7.0 | chem/LAMMPS/23Jun2022-foss-2022a-kokkos-CUDA-11.7.0 | Noctua 1, Noctua 2 |
23Jun2022-foss-2022a-kokkos | chem/LAMMPS/23Jun2022-foss-2022a-kokkos | Noctua 1, Noctua 2 |
23Jun2022-foss-2022a-gpu-CUDA-11.7.0 | chem/LAMMPS/23Jun2022-foss-2022a-gpu-CUDA-11.7.0 | Noctua 1, Noctua 2 |
23Jun2022-foss-2021b-kokkos-CUDA-11.4.1 | chem/LAMMPS/23Jun2022-foss-2021b-kokkos-CUDA-11.4.1 | Noctua 1, Noctua 2 |
23Jun2022-foss-2021b-kokkos | chem/LAMMPS/23Jun2022-foss-2021b-kokkos | Noctua 1, Noctua 2 |
23Jun2022-foss-2021a-kokkos | chem/LAMMPS/23Jun2022-foss-2021a-kokkos | Noctua 2 |
7Aug2019-foss-2022a-openmp | chem/LAMMPS/7Aug2019-foss-2022a-openmp | Noctua 2 |
7Aug2019-foss-2022a-kokkos | chem/LAMMPS/7Aug2019-foss-2022a-kokkos | Noctua 2 |
7Aug2019-foss-2019b-Python-3.7.4-kokkos | chem/LAMMPS/7Aug2019-foss-2019b-Python-3.7.4-kokkos | Noctua 2 |
3Mar2020-foss-2020a-Python-3.8.2-kokkos | chem/LAMMPS/3Mar2020-foss-2020a-Python-3.8.2-kokkos | Noctua 2 |
2Aug2023_update3-foss-2023b-ml_hdnnp-kokkos | chem/LAMMPS/2Aug2023_update3-foss-2023b-ml_hdnnp-kokkos | Noctua 2 |
2Aug2023_update3-foss-2023b-kokkos | chem/LAMMPS/2Aug2023_update3-foss-2023b-kokkos | Noctua 2 |
This table is generated automatically. If you need other versions please click pc2-support@uni-paderborn.de.
Usage Hints for LAMMPS
If you need support in using this software or example job scipts please contact pc2-support@uni-paderborn.de.
Noctua 2
General Usage
For using LAMMPS on Noctua 2 you can use the following input file as a template. It performs at 1,074 ns/day for 2000 steps of the Rhodopsion benchmark with 2.048.000 atoms. It is slightly faster than other published results with 64-core AMD Milan CPUs (see https://dl.acm.org/doi/pdf/10.1145/3437359.3465596).
#!/bin/bash
#SBATCH -N 1
#SBATCH --exclusive
#SBATCH --ntasks-per-node=128
#SBATCH -t 30:00
module reset
# Note: please select one of the installed LAMMPS modules that is suitable for your simulation.
module load chem/LAMMPS/3Mar2020-foss-2020a-Python-3.8.2-kokkos
export OMP_NUM_THREADS=1
export OPENBLAS_NUM_THREADS=1
srun lmp -in rhodo.inp
Use GPU Acceleration via the KOKKOS Package in LAMMPS
To enable GPU acceleration through the KOKKOS package, follow these steps:
Load the appropriate module:
Ensure the LAMMPS module with -kokkos-CUDA
in its name is loaded. For example, the 27Jun2024-foss-2023b-kokkos-CUDA-12.5.0
module can be loaded in your Slurm jobscript for GPU-accelerated calculation in LAMMPS.
Run
lmp
with suitable options:
Include the following options in the lmp
command:
-k on g ${SLURM_GPUS_ON_NODE}
activates GPU usage via KOKKOS and the number of GPUs is automatically given as the Slurm job is allocated.-sf kk
appends the “/kk” suffix to KOKKOS-supported LAMMPS styles.-pk kokkos
adjusts default KOKKOS settings as needed.
Note: the number of GPUs must match the number of MPI tasks specified in the Slurm jobscript.
Example Slurm jobscript (single GPU):
Below is a sample Slurm jobscript for running LAMMPS with one GPU via KOKKOS.
#!/usr/bin/env bash
#SBATCH --nodes=1
#SBATCH --ntasks=1
#SBATCH --ntasks-per-node=1
#SBATCH --cpus-per-task=16
#SBATCH --time=00:20:00
#SBATCH --error=sl_%j.errFile
#SBATCH --output=sl_%j.outFile
#SBATCH --partition=gpu
#SBATCH --gres=gpu:a100:1
#
module reset
module load chem/LAMMPS/27Jun2024-foss-2023b-kokkos-CUDA-12.5.0
export OMP_NUM_THREADS=$SLURM_CPUS_PER_TASK
export OPENBLAS_NUM_THREADS=$SLURM_CPUS_PER_TASK
export OMP_PROC_BIND=spread
export OMP_PLACES=cores
#
# Note:
# - 1 MPI task on 1 compute node is specified in this jobscript
# - thus, the number of GPU must be 1, matching 1 MPI task
#
srun lmp -k on g ${SLURM_GPUS_ON_NODE} -sf kk -pk kokkos -in YOUR_LAMMPS_JOB.inp
Use Special Packages in LAMMPS
ML-HDNNP Package
The high-dimensional neural network potential (HDNNP) method (Behler and Parrinello 2007) can provide machine learning potentials for MD simulations. If your calculation uses HDNNP in LAMMPS, please load the module chem/LAMMPS/2Aug2023_update3-foss-2023b-ml_hdnnp-kokkos
in your Slurm jobscript.
If you experience problems, need support for other versions or performance tuning to a certain case, please let us know at pc2-support@uni-paderborn.de.