Gromacs
This page was translated by an AI (LLM) with a cursory human check and is awaiting full review.
🚧 Page under construction
Useful links
- 🌐 Official website: https://www.gromacs.org
- 📘 Documentation: https://manual.gromacs.org/
- 💬 Forum / support: https://gromacs.bioexcel.eu
- 🧬 Git repository:https://gitlab.com/gromacs/gromacs
Available versions
The list of available versions can be accessed with the following commands:
- CPU and V100 Partitions
- A100 Partition
- H100 Partition
module purge
module avail gromacs
module purge
module load arch/a100
module avail gromacs
module purge
module load arch/h100
module avail gromacs
General Advice
mdrun is a software with many performance optimisation possibilities.
It is important to perform tests and read the dedicated page on the documentation.
Advice for GPU execution
Gromacs is a software that benefits from many GPU developments.
It is very important to read the page on mdrun performance to optimise calculations on Jean Zay.
Specifically, two main variants are available on Jean Zay:
- MPI: MPI version (the modules have an
-mpiin their name) - tMPI: Version with the MPI part emulated by threads.
The tMPI version is more efficient on GPU but is limited to the use of a single node.
Submission script examples
⚠️ The submission scripts are examples to be modified according to the resources needed for the calculation.
We invite you to read the documentation pages concerning resource reservation.
- CPU Partition
- V100 MPI Partition
- V100 tMPI Partition
- A100 MPI Partition
- A100 tMPI Partition
- H100 MPI Partition
- H100 tMPI Partition
#!/bin/bash
#SBATCH --nodes=1 # Number of nodes
#SBATCH --ntasks-per-node=20 # Number of MPI tasks per node
#SBATCH --cpus-per-task=2 # Number of core for each MPI task
#SBATCH --job-name=gromacs
#SBATCH --output=%x.%j # output in <job-name>.<jobid>
#SBATCH --error=%x.%j # errors <job-name>.<jobid>
#SBATCH --account=<project_id>@cpu # project_id available with idracct
#SBATCH --time=02:00:00
module purge
module load gromacs # check the available versions with module avail gromacs
#!/bin/bash
#SBATCH --nodes=1 # Number of nodes
#SBATCH --ntasks-per-node=4 # Number of MPI tasks per node
#SBATCH --cpus-per-task=10 # Number of core for each MPI task
#SBATCH --gpus-per-node=4
#SBATCH --job-name=gromacs
#SBATCH --output=%x.%j # output in <job-name>.<jobid>
#SBATCH --error=%x.%j # errors <job-name>.<jobid>
#SBATCH --account=<project_id>@v100 # project_id available with idracct
#SBATCH --time=02:00:00
module purge
module load gromacs # check the available versions with module avail gromacs
srun gmx_mpi mdrun -deffnm production -ntomp 4
#!/bin/bash
#SBATCH --nodes=1 # Number of nodes
#SBATCH --ntasks-per-node=4 # Number of MPI tasks per node
#SBATCH --cpus-per-task=10 # Number of core for each MPI task
#SBATCH --gpus-per-node=4
#SBATCH --job-name=gromacs
#SBATCH --output=%x.%j # output in <job-name>.<jobid>
#SBATCH --error=%x.%j # errors <job-name>.<jobid>
#SBATCH --account=<project_id>@v100 # project_id available with idracct
#SBATCH --time=02:00:00
module purge
module load gromacs/2024.3-cuda # check the available versions with module avail gromacs
export GMX_GPU_PME_PP_COMMS=true
export GMX_GPU_DD_COMMS=true
gmx mdrun -ntmpi 4 -npme 1 -ntomp 5 \
-update gpu -bonded gpu \
-nb gpu -pme gpu -pmefft gpu \
-deffnm production -v
#!/bin/bash
#SBATCH --nodes=1 # Number of nodes
#SBATCH --ntasks-per-node=8 # Number of MPI tasks per node
#SBATCH --cpus-per-task=8 # Number of core for each MPI task
#SBATCH --gpus-per-node=8
#SBATCH --constraint=a100
#SBATCH --job-name=gromacs
#SBATCH --output=%x.%j # output in <job-name>.<jobid>
#SBATCH --error=%x.%j # errors <job-name>.<jobid>
#SBATCH --account=<project_id>@a100 # project_id available with idracct
#SBATCH --time=02:00:00
module purge
module load arch/a100
module load gromacs # check the available versions with module avail gromacs
srun gmx_mpi mdrun -deffnm production -ntomp 4
#!/bin/bash
#SBATCH --nodes=1 # Number of nodes
#SBATCH --ntasks-per-node=8 # Number of MPI tasks per node
#SBATCH --cpus-per-task=8 # Number of core for each MPI task
#SBATCH --gpus-per-node=8
#SBATCH --constraint=a100
#SBATCH --job-name=gromacs
#SBATCH --output=%x.%j # output in <job-name>.<jobid>
#SBATCH --error=%x.%j # errors <job-name>.<jobid>
#SBATCH --account=<project_id>@a100 # project_id available with idracct
#SBATCH --time=02:00:00
module purge
module load arch/a100
module load gromacs/2024.3-cuda # check the available versions with module avail gromacs
export GMX_GPU_PME_PP_COMMS=true
export GMX_GPU_DD_COMMS=true
gmx mdrun -ntmpi 8 -npme 1 -ntomp 5 \
-update gpu -bonded gpu \
-nb gpu -pme gpu -pmefft gpu \
-deffnm production -v
#!/bin/bash
#SBATCH --nodes=1 # Number of nodes
#SBATCH --ntasks-per-node=4 # Number of MPI tasks per node
#SBATCH --cpus-per-task=24 # Number of core for each MPI task
#SBATCH --gpus-per-node=4
#SBATCH --constraint=h100
#SBATCH --job-name=gromacs
#SBATCH --output=%x.%j # output in <job-name>.<jobid>
#SBATCH --error=%x.%j # errors <job-name>.<jobid>
#SBATCH --account=<project_id>@h100 # project_id available with idracct
#SBATCH --time=02:00:00
module purge
module load arch/h100
module load gromacs # check the available versions with module avail gromacs
srun gmx_mpi mdrun -deffnm production -ntomp 4
#!/bin/bash
#SBATCH --nodes=1 # Number of nodes
#SBATCH --ntasks-per-node=4 # Number of MPI tasks per node
#SBATCH --cpus-per-task=24 # Number of core for each MPI task
#SBATCH --gpus-per-node=4
#SBATCH --constraint=h100
#SBATCH --job-name=gromacs
#SBATCH --output=%x.%j # output in <job-name>.<jobid>
#SBATCH --error=%x.%j # errors <job-name>.<jobid>
#SBATCH --account=<project_id>@h100 # project_id available with idracct
#SBATCH --time=02:00:00
module purge
module load arch/h100
module load gromacs/2024.3-cuda # check the available versions with module avail gromacs
gmx mdrun -ntmpi 4 -npme 1 -ntomp 5 \
-update gpu -bonded gpu \
-nb gpu -pme gpu -pmefft gpu \
-deffnm production -v