Skip to content

{bio}[foss/2024a] GROMACS v2024.4 w/ PLUMED 2.9.2#25203

Open
Flamefire wants to merge 4 commits intoeasybuilders:developfrom
Flamefire:20260203171718_new_pr_GROMACS20244
Open

{bio}[foss/2024a] GROMACS v2024.4 w/ PLUMED 2.9.2#25203
Flamefire wants to merge 4 commits intoeasybuilders:developfrom
Flamefire:20260203171718_new_pr_GROMACS20244

Conversation

@Flamefire
Copy link
Copy Markdown
Contributor

(created using eb --new-pr)

@github-actions github-actions bot added 2024a issues & PRs related to 2024a common toolchains update labels Feb 3, 2026
@github-actions
Copy link
Copy Markdown

github-actions bot commented Feb 3, 2026

Updated software GROMACS-2024.4-foss-2024a-PLUMED-2.9.2.eb

Diff against GROMACS-2021.0-foss-2023a-20250409-constant-pH-CUDA-12.1.1-PLUMED.eb

easybuild/easyconfigs/g/GROMACS/GROMACS-2021.0-foss-2023a-20250409-constant-pH-CUDA-12.1.1-PLUMED.eb

diff --git a/easybuild/easyconfigs/g/GROMACS/GROMACS-2021.0-foss-2023a-20250409-constant-pH-CUDA-12.1.1-PLUMED.eb b/easybuild/easyconfigs/g/GROMACS/GROMACS-2024.4-foss-2024a-PLUMED-2.9.2.eb
index 6f868a8215..ec990e1a86 100644
--- a/easybuild/easyconfigs/g/GROMACS/GROMACS-2021.0-foss-2023a-20250409-constant-pH-CUDA-12.1.1-PLUMED.eb
+++ b/easybuild/easyconfigs/g/GROMACS/GROMACS-2024.4-foss-2024a-PLUMED-2.9.2.eb
@@ -1,60 +1,95 @@
+# This file is an EasyBuild reciPY as per https://github.com/easybuilders/easybuild
+#
+# Copyright:: Copyright 2012-2016 University of Luxembourg / LCSB, Cyprus Institute / CaSToRC,
+# Ghent University / The Francis Crick Institute
+# Authors::
+# * Wiktor Jurkowski <wiktor.jurkowski@gmail.com>
+# * Fotis Georgatos <fotis@cern.ch>
+# * George Tsouloupas <g.tsouloupas@cyi.ac.cy>
+# * Kenneth Hoste <kenneth.hoste@ugent.be>
+# * Adam Huffman <adam.huffman@crick.ac.uk>
+# * Ake Sandgren <ake.sandgren@hpc2n.umu.se>
+# * J. Sassmannshausen <Crick HPC team>
+# * Dugan Witherick <dugan.witherick@warwick.ac.uk>
+# * Christoph Siegert <christoph.siegert@uni-leipzig.de>
+# License::   MIT/GPL
+
 name = 'GROMACS'
-version = '2021.0'
-_date = '-20250409'
-local_commit = '28807b11'
-_cuda_suffix = '-CUDA-%(cudaver)s'
-versionsuffix = f'{_date}-constant-pH{_cuda_suffix}-PLUMED'
-# fork is from v2021.0-beta1, SOVERSION = 6.0.0
-
-homepage = 'https://gitlab.com/gromacs-constantph'
-description = """
-GROMACS constant pH
+version = '2024.4'
+versionsuffix = '-PLUMED-2.9.2'
 
+homepage = 'https://www.gromacs.org'
+description = """
 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.
 
-This is preliminary version of the GROMACS constant pH code.
-The modified force fields needed for constnat pH.
+This is a CPU only build, containing both MPI and threadMPI binaries
+for both single and double precision.
+
+It also contains the gmxapi extension for the single precision MPI build.
 """
 
-toolchain = {'name': 'foss', 'version': '2023a'}
-# Currently, separate PME ranks are not supported with MPI
-toolchainopts = {'openmp': True, 'usempi': False}
+toolchain = {'name': 'foss', 'version': '2024a'}
+toolchainopts = {'openmp': True, 'usempi': True}
 
-source_urls = ['https://gitlab.com/gromacs-constantph/constantph/-/archive/']
-sources = [{
-    'download_filename': '%s.tar.gz' % local_commit,
-    'filename': '%%(name)s-%%(version)s-%s.tar.gz' % local_commit,
-}]
+source_urls = [
+    'https://ftp.gromacs.org/pub/gromacs',
+    'ftp://ftp.gromacs.org/pub/gromacs',
+]
+sources = [SOURCELOWER_TAR_GZ]
 patches = [
-    'GROMACS-2021.0-20250409-constant-pH_enable-CUDA-12.1.1.patch',
+    'GROMACS-2023.1_set_omp_num_threads_env_for_ntomp_tests.patch',
+    'GROMACS-2023.1_fix_tests_for_gmx_thread_mpi.patch',
+    'GROMACS-2023.3_skip_test_for_plumed.patch',
+    'GROMACS-2024.1_workaround-arm-sve512.patch',
 ]
 checksums = [
-    {'GROMACS-2021.0-28807b11.tar.gz': '88548354e02c872052f2fa662eab5f111421706cb0ea264e94af19e7274d0f78'},
-    {'GROMACS-2021.0-20250409-constant-pH_enable-CUDA-12.1.1.patch':
-     'f1bf5026b92aea6e6ca1265d75aa42976cfa9cf480e6ee5168e935d4380aab3e'},
+    {'gromacs-2024.4.tar.gz': 'ac618ece2e58afa86b536c5a2c4fcb937f0760318f12d18f10346b6bdebd86a8'},
+    {'GROMACS-2023.1_set_omp_num_threads_env_for_ntomp_tests.patch':
+     '7f41bda16c9c2837624265dda4be252f655d1288ddc4486b1a2422af30d5d199'},
+    {'GROMACS-2023.1_fix_tests_for_gmx_thread_mpi.patch':
+     '6df844bb3bbc51180446a3595c61a4ef195e5f975533a04cef76841aa763aec1'},
+    {'GROMACS-2023.3_skip_test_for_plumed.patch': '6c541ee74f71f6a63950134d9d0e3afb176a2e25e76e017b4d1986a59163c083'},
+    {'GROMACS-2024.1_workaround-arm-sve512.patch': '0dfa82a9425322d2b2c250d698ac2065f8c0ce0143df0057e7ec21686d60e5f7'},
 ]
 
 builddependencies = [
-    ('CMake', '3.26.3'),
-    ('Doxygen', '1.9.7'),
+    ('CMake', '3.29.3'),
+    ('scikit-build-core', '0.10.6'),
 ]
 dependencies = [
-    ('CUDA', '12.1.1', '', SYSTEM),
-    ('PLUMED', '2.9.0'),
+    ('Python', '3.12.3'),
+    ('SciPy-bundle', '2024.05'),
+    ('networkx', '3.4.2'),
+    ('mpi4py', '4.0.1'),
+    ('pybind11', '2.12.0'),
+    ('PLUMED', '2.9.3'),
 ]
 
-start_dir = 'gromacs-constantph'
+# be a bit more forgiving w.r.t. timeouts for GROMACS test suite,
+# see also https://gitlab.com/gromacs/gromacs/-/issues/5062
+configopts = '-DGMX_TEST_TIMEOUT_FACTOR=3'
 
-plumed = 'patch'
+exts_defaultclass = 'PythonPackage'
+# PLUMED 2.9.2 is compatible with GROMACS 2024.2; 2024.4 seems to work fine too
 ignore_plumed_version_check = True
 
-# Disable installing the Python gmxapi bindings - python 3.11 not supported
-python_pkg = False
+exts_default_options = {
+    'source_urls': [PYPI_SOURCE],
+}
 
-# Code is not sufficiently covered with tests and some standard GROMACS test might be broken.
-# Thus, make check might end up with errors
-runtest = False
+exts_list = [
+    ('gmxapi', '0.4.2', {
+        'patches': ['GROMACS-2025.2_gmxapi-remove-builddependencies.patch'],
+        'preinstallopts': 'export CMAKE_ARGS="-Dgmxapi_ROOT=%(installdir)s ' +
+                          '-C %(installdir)s/share/cmake/gromacs_mpi/gromacs-hints_mpi.cmake" && ',
+        'checksums': [
+            {'gmxapi-0.4.2.tar.gz': 'c746c6498c73a75913d7fcb01c13cc001d4bcb82999e9bf91d63578565ed1a1f'},
+            {'GROMACS-2025.2_gmxapi-remove-builddependencies.patch':
+             'd35eedea75167a88cd1c74df4c201b666ec9f8aef00f0fc6136380e36eb1e0e5'},
+        ],
+    }),
+]
 
 moduleclass = 'bio'
Diff against GROMACS-2025.2-lmpflf-2025b.eb

easybuild/easyconfigs/g/GROMACS/GROMACS-2025.2-lmpflf-2025b.eb

diff --git a/easybuild/easyconfigs/g/GROMACS/GROMACS-2025.2-lmpflf-2025b.eb b/easybuild/easyconfigs/g/GROMACS/GROMACS-2024.4-foss-2024a-PLUMED-2.9.2.eb
index ec5805ab48..ec990e1a86 100644
--- a/easybuild/easyconfigs/g/GROMACS/GROMACS-2025.2-lmpflf-2025b.eb
+++ b/easybuild/easyconfigs/g/GROMACS/GROMACS-2024.4-foss-2024a-PLUMED-2.9.2.eb
@@ -1,7 +1,7 @@
 # This file is an EasyBuild reciPY as per https://github.com/easybuilders/easybuild
 #
 # Copyright:: Copyright 2012-2016 University of Luxembourg / LCSB, Cyprus Institute / CaSToRC,
-#                                 Ghent University / The Francis Crick Institute
+# Ghent University / The Francis Crick Institute
 # Authors::
 # * Wiktor Jurkowski <wiktor.jurkowski@gmail.com>
 # * Fotis Georgatos <fotis@cern.ch>
@@ -15,7 +15,8 @@
 # License::   MIT/GPL
 
 name = 'GROMACS'
-version = '2025.2'
+version = '2024.4'
+versionsuffix = '-PLUMED-2.9.2'
 
 homepage = 'https://www.gromacs.org'
 description = """
@@ -29,49 +30,50 @@ for both single and double precision.
 It also contains the gmxapi extension for the single precision MPI build.
 """
 
-toolchain = {'name': 'lmpflf', 'version': '2025b'}
+toolchain = {'name': 'foss', 'version': '2024a'}
 toolchainopts = {'openmp': True, 'usempi': True}
 
 source_urls = [
-    'https://ftp.gromacs.org/pub/gromacs/',
-    'ftp://ftp.gromacs.org/pub/gromacs/',
+    'https://ftp.gromacs.org/pub/gromacs',
+    'ftp://ftp.gromacs.org/pub/gromacs',
 ]
 sources = [SOURCELOWER_TAR_GZ]
 patches = [
     'GROMACS-2023.1_set_omp_num_threads_env_for_ntomp_tests.patch',
     'GROMACS-2023.1_fix_tests_for_gmx_thread_mpi.patch',
-    'GROMACS-2025.2_workaround-arm-sve512.patch',
-    'GROMACS-2025.2_fix-sample_restraint-mpich-launch.patch',
+    'GROMACS-2023.3_skip_test_for_plumed.patch',
+    'GROMACS-2024.1_workaround-arm-sve512.patch',
 ]
 checksums = [
-    {'gromacs-2025.2.tar.gz': '0df09f9d45a99ef00e66b9baa9493a27e906813763a3b6c7672217c66b43ea11'},
+    {'gromacs-2024.4.tar.gz': 'ac618ece2e58afa86b536c5a2c4fcb937f0760318f12d18f10346b6bdebd86a8'},
     {'GROMACS-2023.1_set_omp_num_threads_env_for_ntomp_tests.patch':
      '7f41bda16c9c2837624265dda4be252f655d1288ddc4486b1a2422af30d5d199'},
     {'GROMACS-2023.1_fix_tests_for_gmx_thread_mpi.patch':
      '6df844bb3bbc51180446a3595c61a4ef195e5f975533a04cef76841aa763aec1'},
-    {'GROMACS-2025.2_workaround-arm-sve512.patch': 'e62e075ee9328f647954365edd7979ea79e6f1d7a3b84834a2aae546cf74772c'},
-    {'GROMACS-2025.2_fix-sample_restraint-mpich-launch.patch':
-     'a910ec50cf296a6bdf8e5d425617d54c13b4ef049b61196487d7dc8a8f674e2c'},
+    {'GROMACS-2023.3_skip_test_for_plumed.patch': '6c541ee74f71f6a63950134d9d0e3afb176a2e25e76e017b4d1986a59163c083'},
+    {'GROMACS-2024.1_workaround-arm-sve512.patch': '0dfa82a9425322d2b2c250d698ac2065f8c0ce0143df0057e7ec21686d60e5f7'},
 ]
 
 builddependencies = [
-    ('CMake', '4.0.3'),
-    ('scikit-build-core', '0.11.5'),
-    ('pybind11', '3.0.0'),
+    ('CMake', '3.29.3'),
+    ('scikit-build-core', '0.10.6'),
 ]
-
 dependencies = [
-    ('Python', '3.13.5'),
-    ('SciPy-bundle', '2025.07'),
-    ('networkx', '3.5'),
-    ('mpi4py', '4.1.0'),
+    ('Python', '3.12.3'),
+    ('SciPy-bundle', '2024.05'),
+    ('networkx', '3.4.2'),
+    ('mpi4py', '4.0.1'),
+    ('pybind11', '2.12.0'),
+    ('PLUMED', '2.9.3'),
 ]
 
 # be a bit more forgiving w.r.t. timeouts for GROMACS test suite,
 # see also https://gitlab.com/gromacs/gromacs/-/issues/5062
-configopts = "-DGMX_TEST_TIMEOUT_FACTOR=3"
+configopts = '-DGMX_TEST_TIMEOUT_FACTOR=3'
 
 exts_defaultclass = 'PythonPackage'
+# PLUMED 2.9.2 is compatible with GROMACS 2024.2; 2024.4 seems to work fine too
+ignore_plumed_version_check = True
 
 exts_default_options = {
     'source_urls': [PYPI_SOURCE],
Diff against GROMACS-2025.2-lfoss-2025b.eb

easybuild/easyconfigs/g/GROMACS/GROMACS-2025.2-lfoss-2025b.eb

diff --git a/easybuild/easyconfigs/g/GROMACS/GROMACS-2025.2-lfoss-2025b.eb b/easybuild/easyconfigs/g/GROMACS/GROMACS-2024.4-foss-2024a-PLUMED-2.9.2.eb
index fc29744c2c..ec990e1a86 100644
--- a/easybuild/easyconfigs/g/GROMACS/GROMACS-2025.2-lfoss-2025b.eb
+++ b/easybuild/easyconfigs/g/GROMACS/GROMACS-2024.4-foss-2024a-PLUMED-2.9.2.eb
@@ -1,7 +1,7 @@
 # This file is an EasyBuild reciPY as per https://github.com/easybuilders/easybuild
 #
 # Copyright:: Copyright 2012-2016 University of Luxembourg / LCSB, Cyprus Institute / CaSToRC,
-#                                 Ghent University / The Francis Crick Institute
+# Ghent University / The Francis Crick Institute
 # Authors::
 # * Wiktor Jurkowski <wiktor.jurkowski@gmail.com>
 # * Fotis Georgatos <fotis@cern.ch>
@@ -15,7 +15,8 @@
 # License::   MIT/GPL
 
 name = 'GROMACS'
-version = '2025.2'
+version = '2024.4'
+versionsuffix = '-PLUMED-2.9.2'
 
 homepage = 'https://www.gromacs.org'
 description = """
@@ -29,46 +30,50 @@ for both single and double precision.
 It also contains the gmxapi extension for the single precision MPI build.
 """
 
-toolchain = {'name': 'lfoss', 'version': '2025b'}
+toolchain = {'name': 'foss', 'version': '2024a'}
 toolchainopts = {'openmp': True, 'usempi': True}
 
 source_urls = [
-    'https://ftp.gromacs.org/pub/gromacs/',
-    'ftp://ftp.gromacs.org/pub/gromacs/',
+    'https://ftp.gromacs.org/pub/gromacs',
+    'ftp://ftp.gromacs.org/pub/gromacs',
 ]
 sources = [SOURCELOWER_TAR_GZ]
 patches = [
     'GROMACS-2023.1_set_omp_num_threads_env_for_ntomp_tests.patch',
     'GROMACS-2023.1_fix_tests_for_gmx_thread_mpi.patch',
-    'GROMACS-2025.2_workaround-arm-sve512.patch',
+    'GROMACS-2023.3_skip_test_for_plumed.patch',
+    'GROMACS-2024.1_workaround-arm-sve512.patch',
 ]
 checksums = [
-    {'gromacs-2025.2.tar.gz': '0df09f9d45a99ef00e66b9baa9493a27e906813763a3b6c7672217c66b43ea11'},
+    {'gromacs-2024.4.tar.gz': 'ac618ece2e58afa86b536c5a2c4fcb937f0760318f12d18f10346b6bdebd86a8'},
     {'GROMACS-2023.1_set_omp_num_threads_env_for_ntomp_tests.patch':
      '7f41bda16c9c2837624265dda4be252f655d1288ddc4486b1a2422af30d5d199'},
     {'GROMACS-2023.1_fix_tests_for_gmx_thread_mpi.patch':
      '6df844bb3bbc51180446a3595c61a4ef195e5f975533a04cef76841aa763aec1'},
-    {'GROMACS-2025.2_workaround-arm-sve512.patch': 'e62e075ee9328f647954365edd7979ea79e6f1d7a3b84834a2aae546cf74772c'},
+    {'GROMACS-2023.3_skip_test_for_plumed.patch': '6c541ee74f71f6a63950134d9d0e3afb176a2e25e76e017b4d1986a59163c083'},
+    {'GROMACS-2024.1_workaround-arm-sve512.patch': '0dfa82a9425322d2b2c250d698ac2065f8c0ce0143df0057e7ec21686d60e5f7'},
 ]
 
 builddependencies = [
-    ('CMake', '4.0.3'),
-    ('scikit-build-core', '0.11.5'),
-    ('pybind11', '3.0.0'),
+    ('CMake', '3.29.3'),
+    ('scikit-build-core', '0.10.6'),
 ]
-
 dependencies = [
-    ('Python', '3.13.5'),
-    ('SciPy-bundle', '2025.07'),
-    ('networkx', '3.5'),
-    ('mpi4py', '4.1.0'),
+    ('Python', '3.12.3'),
+    ('SciPy-bundle', '2024.05'),
+    ('networkx', '3.4.2'),
+    ('mpi4py', '4.0.1'),
+    ('pybind11', '2.12.0'),
+    ('PLUMED', '2.9.3'),
 ]
 
 # be a bit more forgiving w.r.t. timeouts for GROMACS test suite,
 # see also https://gitlab.com/gromacs/gromacs/-/issues/5062
-configopts = "-DGMX_TEST_TIMEOUT_FACTOR=3"
+configopts = '-DGMX_TEST_TIMEOUT_FACTOR=3'
 
 exts_defaultclass = 'PythonPackage'
+# PLUMED 2.9.2 is compatible with GROMACS 2024.2; 2024.4 seems to work fine too
+ignore_plumed_version_check = True
 
 exts_default_options = {
     'source_urls': [PYPI_SOURCE],

@Flamefire
Copy link
Copy Markdown
Contributor Author

Test report by @Flamefire
SUCCESS
Build succeeded for 1 out of 1 (total: 40 mins 17 secs) (1 easyconfigs in total)
c128 - Linux Rocky Linux 9.6, x86_64, AMD EPYC 9334 32-Core Processor (zen4), 4 x NVIDIA NVIDIA H100, 580.65.06, Python 3.9.21
See https://gist.github.com/Flamefire/725f402683fd2f1169b93ffeb56b1e0c for a full test report.

@Flamefire
Copy link
Copy Markdown
Contributor Author

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

2024a issues & PRs related to 2024a common toolchains update

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant