LAMMPS¶
LAMMPS is a classical molecular dynamics code with a focus on materials modeling. It's 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. See LAMMPS Features for a detailed overview.
Running¶
Warning
LAMMPS is built with GPU-aware MPI. Make sure to set MPICH_GPU_SUPPORT_ENABLED=1
when running LAMMPS.
Building from source¶
The LAMMPS uenv
provides all the dependencies required to build LAMMPS from source, including kokkos. You can follow these steps to build LAMMPS from source:
# Start uenv and load develop view
uenv start <LAMMPS_UENV>
uenv view develop
# cd to LAMMPS source directory
cd <PATH_TO_LAMMPS_SOURCE>
# CMake
mkdir build && cd build
cmake -C ../cmake/presets/kokkos-cuda.cmake ../cmake/ -DKokkos_ENABLE_IMPL_CUDA_MALLOC_ASYNC=OFF -DKokkos_ARCH_NATIVE=yes -DKokkos_ARCH_HOPPER90=yes
cmake --build . --parallel 32