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

Change LAMMPS to Gromacs.

parent f78ec706
Branches
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:
$ module list
Currently Loaded Modules:
1) GCCcore/.9.3.0 (H) 3) binutils/.2.34 (H)
2) zlib/.1.2.11 (H) 4) StdEnv/2020
1) Stages/2025 (S) 3) zlib/.1.3.1 (H) 5) make/4.4.1
2) GCCcore/.13.3.0 (H) 4) binutils/.2.42 (H) 6) StdEnv/2025
Where:
S: Module is Sticky, requires --force to unload or purge
H: Hidden Module
```
......@@ -31,35 +32,47 @@ To see what other modules can currently be loaded, type:
```
$ module avail
-------------------------- Core packages ---------------------------
Advisor/2020_update3
Autotools/20200321
Autotools/20200321 (D)
----------------------------------- System side compilers -----------------------------------
AOCC/4.2.0 Clang/18.1.8
--------------------------------------- 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
xpra/4.0.4-Python-3.8.5
zsh/5.8
UnZip/6.0 xpra/6.2.3 (g,D)
VTK/9.4.1-nompi xxHash/0.8.3
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 -----------------------------
GCC/9.3.0 NVHPC/20.9-GCC-9.3.0 (g)
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)
------------------------------------- Production Stages -------------------------------------
Stages/2023 (S) Stages/2024 (S) Stages/2025 (S,L,D)
----------------- User-based install configuration -----------------
----------------------------- User-based install configuration ------------------------------
UserInstallations/easybuild
------------------------------- System install configuration --------------------------------
Developers/InstallSoftware
Where:
S: Module is Sticky, requires --force to unload or purge
g: built for GPU
g: Built with GPU support
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
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 keyword key1 key2 ..." to search for all possible modules matching
any of the "keys".
Use "module keyword key1 key2 ..." to search for all possible modules matching any of the "keys".
```
......@@ -80,10 +93,10 @@ If you now run `module avail` again, you will notice two additional software cat
```
$ 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
$ module load OpenMPI
$ module avail
------------------------- OpenMPI settings -------------------------
mpi-settings/CUDA-low-latency mpi-settings/CUDA (L,D)
------------------------------------- OpenMPI settings --------------------------------------
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:
```
$ module spider LAMMPS
$ module spider GROMACS
----------------------------------------------------------------------------
LAMMPS:
----------------------------------------------------------------------------
------------------------------------------------------------------------------------------------------
GROMACS:
------------------------------------------------------------------------------------------------------
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.
GROMACS is a versatile package to perform molecular dynamics, i.e. simulate the Newtonian
equations of motion for systems with hundreds to millions of particles. It is primarily
designed for biochemical molecules like proteins and lipids that have a lot of complicated
bonded interactions, but since GROMACS is extremely fast at calculating the non-bonded
interactions (that usually dominate simulations) many groups are also using it for research on
non-biological systems, e.g. polymers.
Versions:
LAMMPS/24Dec2020-CUDA
LAMMPS/24Dec2020
LAMMPS/29Oct2020-CUDA
LAMMPS/29Oct2020
----------------------------------------------------------------------------
For detailed information about a specific "LAMMPS" package (including how to load the modules) use the module's full name.
GROMACS/2022.4-plumed
GROMACS/2022.4
GROMACS/2023.2
GROMACS/2024.3-PLUMED-2.9.3
GROMACS/2024.3
------------------------------------------------------------------------------------------------------
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.
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
Lmod has detected the following error: These module(s) or
extension(s) exist but cannot be loaded as requested: "LAMMPS"
Try: "module spider LAMMPS" to see how to load the module(s).
$ module load GROMACS
Lmod has detected the following error: These module(s) or extension(s) exist but cannot be
loaded as requested: "GROMACS"
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 LAMMPS/24Dec2020
$ module spider GROMACS/2024.3
----------------------------------------------------------------------------
LAMMPS: LAMMPS/24Dec2020
----------------------------------------------------------------------------
------------------------------------------------------------------------------------------------------
GROMACS: GROMACS/2024.3
------------------------------------------------------------------------------------------------------
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.
GROMACS is a versatile package to perform molecular dynamics, i.e. simulate the Newtonian
equations of motion for systems with hundreds to millions of particles. It is primarily
designed for biochemical molecules like proteins and lipids that have a lot of complicated
bonded interactions, but since GROMACS is extremely fast at calculating the non-bonded
interactions (that usually dominate simulations) many groups are also using it for research on
non-biological systems, e.g. polymers.
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
Intel/2020.2.254-GCC-9.3.0 ParaStationMPI/5.4.7-1
Stages/2025 GCC/13.3.0 ParaStationMPI/5.10.0-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:
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.
GROMACS is a versatile package to perform molecular dynamics, i.e. simulate the Newtonian equations
of motion for systems with hundreds to millions of particles. It is primarily designed for
biochemical molecules like proteins and lipids that have a lot of complicated bonded interactions,
but since GROMACS is extremely fast at calculating the non-bonded interactions (that usually
dominate simulations) many groups are also using it for research on non-biological systems, e.g.
polymers.
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
================
- Homepage: https://lammps.sandia.gov/
- Site contact: a.kreuzer@fz-juelich.de
- Homepage: http://www.gromacs.org
- 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.
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`:
......@@ -202,10 +217,16 @@ We would recommend to unload (almost) all modules and start with a fresh environ
$ module purge
$ module load GCC
$ 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.
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 register or to comment