LAMMPS
License information
LAMMPS is licensed under the terms of the GNU Public License Version 2. More information can be found on the "LAMMPS open-source license" page in the LAMMPS documentation. A copy of the license can also be found in the LICENSE file in the LAMMPS GitHub.
The LAMMPS developers also appreciate being cited when you use LAMMPS. See the "Citing LAMMPS in your papers" page on the LAMMPS web site for the appropriate citations, depending on which components of LAMMPS you use.
User-installable modules (and EasyConfigs)
Install with the EasyBuild-user module:
To access module help after installation and get reminded for which stacks and partitions the module is installed, usemodule spider LAMMPS/<version>.
EasyConfig:
-
ccpe container only EasyConfig LAMMPS-22Jul2025_update4-cpeGNU-26.03-CPU.eb, will build LAMMPS/22Jul2025_update4-cpeGNU-26.03-CPU
Technical documentation
-
JSC had public notes on LAMMPS optimization (link was fzj-jsc.github.io/tuning_lammps/) but these are no longer available.
Basically the advice from JSC is to use Kokkos as it covers multicore and GPU, but it does need to be enabled also by users running LAMMPS.
EasyBuild support
-
LAMMPS support in the EasyBuilders repository. This is based on a custom EasyBlock with support for most but not yet all optional packages. Likely due to this and the continyous rapid changes in the package the support for recent versions is lagging.
-
LAMMPS support in the CSCS repository. CSCS uses the plain CMakeMake generic easyblock but does not support most of the additional packages. There are recipes for newer versions though, but often for Piz Daint. They should port over easily though.
29Oct20-*-minimal for cpeGNU 21.08
-
This is an EasyConfig file directly derived from the CSCS one.
-
Added support for jpeg and png based on the Spack recipe.
-
It does not yet work with cpeCray because FFmpeg does not compile.
23Jun22_update2-*-minimal for cpeGNU 22.08
- Fairly trivial update of the one for the 29Oct20 version.
2Aug2023_update3 for cpeGNU 24.03
-
Based on previous easyconfigs but adapted to make it closer to the EasyBuilders one. We enable packages which requires no extra dependency or with dependency already present in the central software stack.
-
It turns out this version is only compatible with PLUMED 2.4.x, 2.5.x, 2.6.x, 2.7.x, 2.8.x and not with the 2.9.x version which we tried to use for other software in 24.03.
22Jul2025_update2 for cpeGNU 25.03
-
Fairly trivial update of the 2Aug2023_update3 for CPU.
-
Tried adding ADIOS also, but compilation failed for some reason not yet understood.
-
It is not clear what PLUMED version to use. The manual says 2.4.x, 2.5.x or 2.6.x, which are ancient versions and hence a regression. For now we went with a 2.9 version, but this may not work when running. We are not LAMMPS specialists however.
-
During the configure step, some extra files are being downloaded for which we have no solution yet in the EasyConfig.
22Jul2025_update3 for cpeAMD
-
Update of the previous GPU version (2Aug2023_update3 in 24.03).
-
Needed to use the
craypemodule from 25.09, so this is a dirty EasyConfig that may fail in the future. This was done to work around a bug in the compiler wrappers.
22Jul2025_update4 for cpeGNU 25.03 (CPU)
-
Evolution of the EasyConfig for 22Jul2025_update2 for cpeGNU 25.03.
-
Switched to EB6-compatible parameters.
-
Went through the package list and compared with the manual.
-
The manual says PLUMED 2.4.x, 2.5.x or 2.6.x, the download script downloads version 2.7.2... We installed the latest 2.7 version just to be on the safe side.
-
Added a few additional ones that are new or that we had issues with in the past.
-
The QUIP extension is explicitly not supported as it is impossible to build this code properly on LUMI. Its Meson config script is way too primitive, fails to detect the HPE Cray PE and doesn't allow to overwrite the settings easily to tell it that the MPI, BLAS and ScaLAPACK libraries will be linked properly.
Neither Spack nor EasyBuild currently offer any support for QUIP which says a lot...
-
The ML-HDNNP is explicitly not included as it requires the n2p2 library which itself has a lot of dependencies, many of which don't belong on an HPC system (TeX) or directly on Lustre (lots of Python packages needed). It is not clear if a minimal installation is possible and would be good enough to at least provide the parts that LAMMPS needs.
-
The QMMM extension is also not included because this creates a terrible dependency tree, also pulling in QuantumESPRESSO, making quick updates after system upgrades totally impossible.
-
VTK would make the whole graphics stack a dependency. As it is hard to build that stack and is not even done for all versions of the PE, this is not included.
-
-
Hidden downloads found:
-
https://download.lammps.org/potentials/C_10_10.mesocnt to the
potentialssubdirectory in the sources.However, it looks like that one too is first downloaded to
easybuild_obj. But putting the file ourselves in thepotentialssubdirectory seems to prevent the download. -
https://github.com/ICAMS/lammps-user-pace/archive/refs/tags/v.2023.11.25.fix2.tar.gz but that one is uncompressed in
easybuild_obj... Download is first stored aslibpace.tar.gzineasybuild_obj.It looks like the sources may be uncompressed elsewhere if then LOCAL_ML_PACE is set to the location.
Or simply making sure
libpace.tar.gzis ineasybuild_objwhen the configure step starts, also works. -
It looks like we have an issue with Eigen also (wants to download version 3.4.0).
This was solved by using Eigen 3.4.0 and explicitly pointing CMake to it.
TODO: Understand the script tools/offline/scripts/init_http_cache.sh and when it plays a role.
-
Archived EasyConfigs
The EasyConfigs below are additional easyconfigs that are not directly available on the system for installation. Users are advised to use the newer ones and these archived ones are unsupported. They are still provided as a source of information should you need this, e.g., to understand the configuration that was used for earlier work on the system.
-
Archived EasyConfigs from LUMI-EasyBuild-contrib - previously user-installable software