Skip to content
Snippets Groups Projects
Commit cfa30723 authored by Ilya Zhukov's avatar Ilya Zhukov
Browse files

Change LAMMPS to Gromacs.

parent f78ec706
No related branches found
No related tags found
No related merge requests found
Pipeline #270501 passed
...@@ -18,10 +18,11 @@ When you log in, a set of default modules is loaded for you, e.g. on JUWELS: ...@@ -18,10 +18,11 @@ When you log in, a set of default modules is loaded for you, e.g. on JUWELS:
$ module list $ module list
Currently Loaded Modules: Currently Loaded Modules:
1) GCCcore/.9.3.0 (H) 3) binutils/.2.34 (H) 1) Stages/2025 (S) 3) zlib/.1.3.1 (H) 5) make/4.4.1
2) zlib/.1.2.11 (H) 4) StdEnv/2020 2) GCCcore/.13.3.0 (H) 4) binutils/.2.42 (H) 6) StdEnv/2025
Where: Where:
S: Module is Sticky, requires --force to unload or purge
H: Hidden Module H: Hidden Module
``` ```
...@@ -31,35 +32,47 @@ To see what other modules can currently be loaded, type: ...@@ -31,35 +32,47 @@ To see what other modules can currently be loaded, type:
``` ```
$ module avail $ module avail
-------------------------- Core packages --------------------------- ----------------------------------- System side compilers -----------------------------------
Advisor/2020_update3 AOCC/4.2.0 Clang/18.1.8
Autotools/20200321
Autotools/20200321 (D) --------------------------------------- Core packages ---------------------------------------
ADIOS2/2.10.2 VTKm/20250106-nompi (g)
ANARI-SDK/0.12.1-nompi VTune/2024.3.0
ASE/3.23.0 Vampir/10.5.0
[...] [...]
unzip/6.0 UnZip/6.0 xpra/6.2.3 (g,D)
xpra/4.0.4-Python-3.8.5 VTK/9.4.1-nompi xxHash/0.8.3
zsh/5.8 VTK/9.4.1 (D) zsh/5.9
----------------------------------------- Compilers -----------------------------------------
GCC/13.3.0 Intel/2024.2.0 (D) NVHPC/25.1-CUDA-12 (g)
Intel/2024.2.0-CUDA-12 (g) NVHPC/24.9-CUDA-12 (g,D) NVHPC/25.3-CUDA-12 (g)
---------------------------- Compilers ----------------------------- ------------------------------------- Production Stages -------------------------------------
GCC/9.3.0 NVHPC/20.9-GCC-9.3.0 (g) Stages/2023 (S) Stages/2024 (S) Stages/2025 (S,L,D)
Intel/2020.2.254-GCC-9.3.0 NVHPC/20.11-GCC-9.3.0 (g,D)
NVHPC/20.7-GCC-9.3.0 (g) NVHPC/21.1-GCC-9.3.0 (g)
----------------- User-based install configuration ----------------- ----------------------------- User-based install configuration ------------------------------
UserInstallations/easybuild UserInstallations/easybuild
------------------------------- System install configuration --------------------------------
Developers/InstallSoftware
Where: Where:
S: Module is Sticky, requires --force to unload or purge S: Module is Sticky, requires --force to unload or purge
g: built for GPU g: Built with GPU support
L: Module is loaded L: Module is loaded
Aliases: Aliases exist: foo/1.2.3 (1.2) means that "module load foo/1.2" will load foo/1.2.3 Aliases: Aliases exist: foo/1.2.3 (1.2) means that "module load foo/1.2" will load foo/1.2.3
D: Default Module D: Default Module
If the avail list is too long consider trying:
"module --default avail" or "ml -d av" to just list the default modules.
"module overview" or "ml ov" to display the number of modules for each name.
Use "module spider" to find all possible modules and extensions. Use "module spider" to find all possible modules and extensions.
Use "module keyword key1 key2 ..." to search for all possible modules matching Use "module keyword key1 key2 ..." to search for all possible modules matching any of the "keys".
any of the "keys".
``` ```
...@@ -80,10 +93,10 @@ If you now run `module avail` again, you will notice two additional software cat ...@@ -80,10 +93,10 @@ If you now run `module avail` again, you will notice two additional software cat
``` ```
$ module avail $ module avail
------------- MPI runtimes available for GNU compilers ------------- ---------------------- System MPI runtimes available for GNU compilers ----------------------
[...] [...]
--------------- Packages compiled with GNU compilers --------------- ------------------------ System packages compiled with GNU compilers ------------------------
[...] [...]
``` ```
...@@ -94,106 +107,108 @@ Loading one of the available MPI modules will complete your choice of a toolchai ...@@ -94,106 +107,108 @@ Loading one of the available MPI modules will complete your choice of a toolchai
$ module load OpenMPI $ module load OpenMPI
$ module avail $ module avail
------------------------- OpenMPI settings ------------------------- ------------------------------------- OpenMPI settings --------------------------------------
mpi-settings/CUDA-low-latency mpi-settings/CUDA (L,D) MPI-settings/CUDA-UCC MPI-settings/CUDA (D) MPI-settings/UCX-UCC MPI-settings/UCX (L)
--------- Packages compiled with OpenMPI and GCC compilers --------- ------------------ System packages compiled with OpenMPI and GCC compilers ------------------
[...] [...]
``` ```
If you are looking for a particular piece of software that you know the name of, rather than rummaging through all the toolchains, you can use the `module spider` subcommand, as the output of `module avail` suggests: If you are looking for a particular piece of software that you know the name of, rather than rummaging through all the toolchains, you can use the `module spider` subcommand, as the output of `module avail` suggests:
``` ```
$ module spider LAMMPS $ module spider GROMACS
---------------------------------------------------------------------------- ------------------------------------------------------------------------------------------------------
LAMMPS: GROMACS:
---------------------------------------------------------------------------- ------------------------------------------------------------------------------------------------------
Description: Description:
LAMMPS is a classical molecular dynamics code, and an acronym for GROMACS is a versatile package to perform molecular dynamics, i.e. simulate the Newtonian
Large-scale Atomic/Molecular Massively Parallel Simulator. LAMMPS has equations of motion for systems with hundreds to millions of particles. It is primarily
potentials for solid-state materials (metals, semiconductors) and designed for biochemical molecules like proteins and lipids that have a lot of complicated
soft matter (biomolecules, polymers) and coarse-grained or mesoscopic bonded interactions, but since GROMACS is extremely fast at calculating the non-bonded
systems. It can be used to model atoms or, more generically, as a interactions (that usually dominate simulations) many groups are also using it for research on
parallel particle simulator at the atomic, meso, or continuum scale. non-biological systems, e.g. polymers.
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.
Versions: Versions:
LAMMPS/24Dec2020-CUDA GROMACS/2022.4-plumed
LAMMPS/24Dec2020 GROMACS/2022.4
LAMMPS/29Oct2020-CUDA GROMACS/2023.2
LAMMPS/29Oct2020 GROMACS/2024.3-PLUMED-2.9.3
GROMACS/2024.3
----------------------------------------------------------------------------
For detailed information about a specific "LAMMPS" package (including how to load the modules) use the module's full name. ------------------------------------------------------------------------------------------------------
For detailed information about a specific "GROMACS" package (including how to load the modules) use the module's full name.
Note that names that have a trailing (E) are extensions provided by other modules. Note that names that have a trailing (E) are extensions provided by other modules.
For example: For example:
$ module spider LAMMPS/29Oct2020 $ module spider GROMACS/2024.3
---------------------------------------------------------------------------- ------------------------------------------------------------------------------------------------------
``` ```
Loading the LAMMPS module with OpenMPI loaded fails: Loading the GROMACS module with OpenMPI loaded fails:
``` ```
$ module load LAMMPS $ module load GROMACS
Lmod has detected the following error: These module(s) or Lmod has detected the following error: These module(s) or extension(s) exist but cannot be
extension(s) exist but cannot be loaded as requested: "LAMMPS" loaded as requested: "GROMACS"
Try: "module spider LAMMPS" to see how to load the module(s). Try: "module spider GROMACS" to see how to load the module(s).
``` ```
`module spider` with a specific module version provides details on how the module can be loaded: `module spider` with a specific module version provides details on how the module can be loaded:
``` ```
$ module spider LAMMPS/24Dec2020 $ module spider GROMACS/2024.3
---------------------------------------------------------------------------- ------------------------------------------------------------------------------------------------------
LAMMPS: LAMMPS/24Dec2020 GROMACS: GROMACS/2024.3
---------------------------------------------------------------------------- ------------------------------------------------------------------------------------------------------
Description: Description:
LAMMPS is a classical molecular dynamics code, and an acronym for GROMACS is a versatile package to perform molecular dynamics, i.e. simulate the Newtonian
Large-scale Atomic/Molecular Massively Parallel Simulator. LAMMPS has equations of motion for systems with hundreds to millions of particles. It is primarily
potentials for solid-state materials (metals, semiconductors) and designed for biochemical molecules like proteins and lipids that have a lot of complicated
soft matter (biomolecules, polymers) and coarse-grained or mesoscopic bonded interactions, but since GROMACS is extremely fast at calculating the non-bonded
systems. It can be used to model atoms or, more generically, as a interactions (that usually dominate simulations) many groups are also using it for research on
parallel particle simulator at the atomic, meso, or continuum scale. non-biological systems, e.g. polymers.
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.
Properties:
Built with GPU support
You will need to load all module(s) on any one of the lines below before the "LAMMPS/24Dec2020" module is available to load. You will need to load all module(s) on any one of the lines below before the "GROMACS/2024.3" module is available to load.
GCC/9.3.0 ParaStationMPI/5.4.7-1 Stages/2025 GCC/13.3.0 ParaStationMPI/5.10.0-1
Intel/2020.2.254-GCC-9.3.0 ParaStationMPI/5.4.7-1 Stages/2025 GCC/13.3.0 ParaStationMPI/5.10.0-1-mt
Stages/2025 GCC/13.3.0 ParaStationMPI/5.11.0-1
Stages/2025 GCC/13.3.0 ParaStationMPI/5.11.0-1-mt
Help: Help:
Description Description
=========== ===========
LAMMPS is a classical molecular dynamics code, and an acronym GROMACS is a versatile package to perform molecular dynamics, i.e. simulate the Newtonian equations
for Large-scale Atomic/Molecular Massively Parallel Simulator. LAMMPS has of motion for systems with hundreds to millions of particles. It is primarily designed for
potentials for solid-state materials (metals, semiconductors) and soft matter biochemical molecules like proteins and lipids that have a lot of complicated bonded interactions,
(biomolecules, polymers) and coarse-grained or mesoscopic systems. It can be but since GROMACS is extremely fast at calculating the non-bonded interactions (that usually
used to model atoms or, more generically, as a parallel particle simulator at dominate simulations) many groups are also using it for research on non-biological systems, e.g.
the atomic, meso, or continuum scale. LAMMPS runs on single processors or in polymers.
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. Usage
=====
Use `gmx` to execute GROMACS commands on a single node, for example, to prepare your run. Use
`gmx_mpi mdrun` in your job scripts with `srun`.
More information More information
================ ================
- Homepage: https://lammps.sandia.gov/ - Homepage: http://www.gromacs.org
- Site contact: a.kreuzer@fz-juelich.de - Documentation:
- http://manual.gromacs.org/documentation/current/user-guide/index.html
- Site contact: Support <sc@fz-juelich.de>, software responsible Jan Meinke <j.meinke@fz-juelich.de>
``` ```
The problem is that LAMMPS is only available in toolchains which include ParaStationMPI. The problem is that GROMACS is only available in toolchains which include ParaStationMPI.
We could simply reload the MPI module rather than having to reload the entire toolchain, but this can sometimes come with unintended consequences, where what is loaded in a `module load` command is not necessarily unloaded while swapping modules. We could simply reload the MPI module rather than having to reload the entire toolchain, but this can sometimes come with unintended consequences, where what is loaded in a `module load` command is not necessarily unloaded while swapping modules.
For this reason, we also do not recommend using the `module unload` command, although it is available. For this reason, we also do not recommend using the `module unload` command, although it is available.
We would recommend to unload (almost) all modules and start with a fresh environment, using `module purge`: We would recommend to unload (almost) all modules and start with a fresh environment, using `module purge`:
...@@ -202,10 +217,16 @@ We would recommend to unload (almost) all modules and start with a fresh environ ...@@ -202,10 +217,16 @@ We would recommend to unload (almost) all modules and start with a fresh environ
$ module purge $ module purge
$ module load GCC $ module load GCC
$ module load ParaStationMPI $ module load ParaStationMPI
$ module load LAMMPS $ module load GROMACS
``` ```
:::info
The `module spider` command is **case-insensitive**, meaning you can search for modules using any combination of uppercase or lowercase letters (e.g., `module spider PyTorch` and `module spider pytorch` both work).
In contrast, the `module load` command is **case-sensitive**. You must use the exact capitalization of the module name and version as listed (e.g., `module load GROMACS/2024.3` is correct, while `module load gromacs/2024.3` may fail if the case does not match).
:::
The `module` command is part of the Lmod software package. The `module` command is part of the Lmod software package.
It comes with its own help document which you can access by running `module help` and a [user guide is available online](https://lmod.readthedocs.io). It comes with its own help document which you can access by running `module help` and a [user guide is available online](https://lmod.readthedocs.io).
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please to comment