From 96caed35aff75c76671b741df51a41a9cd9ab9d5 Mon Sep 17 00:00:00 2001 From: bangerfx Date: Thu, 5 Feb 2026 11:13:52 +0100 Subject: [PATCH 1/3] adding easyconfigs: GROMACS-2025.3-foss-2025b-CUDA-12.9.1.eb --- .../GROMACS-2025.3-foss-2025b-CUDA-12.9.1.eb | 93 +++++++++++++++++++ 1 file changed, 93 insertions(+) create mode 100644 easybuild/easyconfigs/g/GROMACS/GROMACS-2025.3-foss-2025b-CUDA-12.9.1.eb diff --git a/easybuild/easyconfigs/g/GROMACS/GROMACS-2025.3-foss-2025b-CUDA-12.9.1.eb b/easybuild/easyconfigs/g/GROMACS/GROMACS-2025.3-foss-2025b-CUDA-12.9.1.eb new file mode 100644 index 00000000000..a4d8821429f --- /dev/null +++ b/easybuild/easyconfigs/g/GROMACS/GROMACS-2025.3-foss-2025b-CUDA-12.9.1.eb @@ -0,0 +1,93 @@ +# 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 +# * Fotis Georgatos +# * George Tsouloupas +# * Kenneth Hoste +# * Adam Huffman +# * Ake Sandgren +# * J. Sassmannshausen +# * Dugan Witherick +# * Christoph Siegert +# License:: MIT/GPL + +name = 'GROMACS' +version = '2025.3' +versionsuffix = '-CUDA-%(cudaver)s' + +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 a GPU enabled build, containing both MPI and threadMPI binaries. + +It also contains the gmxapi extension for the single precision MPI build. +""" + +toolchain = {'name': 'foss', 'version': '2025b'} +toolchainopts = {'openmp': True, 'usempi': True} + +source_urls = [ + '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', +] +checksums = [ + {'gromacs-2025.3.tar.gz': '8bdfca0268f3f10a7ca3c06e59b62f73ea02420c67211c0ff3912f32d7833c65'}, + {'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'}, +] + +builddependencies = [ + ('CMake', '4.0.3'), + ('scikit-build-core', '0.11.5'), + ('pybind11', '3.0.0'), +] + +dependencies = [ + ('CUDA', '12.9.1', '', SYSTEM), + ('UCX-CUDA', '1.19.0', versionsuffix), + ('Python', '3.13.5'), + ('SciPy-bundle', '2025.07'), + ('networkx', '3.5'), + ('mpi4py', '4.1.0'), +] + +# 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" + +exts_defaultclass = 'PythonPackage' + +exts_default_options = { + 'source_urls': [PYPI_SOURCE], +} + +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' From 3d7dcb45ba45b2525407f235cb90df306c4be8a1 Mon Sep 17 00:00:00 2001 From: bangerfx Date: Sun, 8 Feb 2026 10:38:54 +0100 Subject: [PATCH 2/3] Update PR with gmxapi change from PR #25188 --- .../GROMACS-2025.3-foss-2025b-CUDA-12.9.1.eb | 17 +++++++++-------- 1 file changed, 9 insertions(+), 8 deletions(-) diff --git a/easybuild/easyconfigs/g/GROMACS/GROMACS-2025.3-foss-2025b-CUDA-12.9.1.eb b/easybuild/easyconfigs/g/GROMACS/GROMACS-2025.3-foss-2025b-CUDA-12.9.1.eb index a4d8821429f..d68458a8f6c 100644 --- a/easybuild/easyconfigs/g/GROMACS/GROMACS-2025.3-foss-2025b-CUDA-12.9.1.eb +++ b/easybuild/easyconfigs/g/GROMACS/GROMACS-2025.3-foss-2025b-CUDA-12.9.1.eb @@ -73,21 +73,22 @@ configopts = "-DGMX_TEST_TIMEOUT_FACTOR=3" exts_defaultclass = 'PythonPackage' -exts_default_options = { - 'source_urls': [PYPI_SOURCE], -} +_gmxapi_source_version = version exts_list = [ - ('gmxapi', '0.4.2', { - 'patches': ['GROMACS-2025.2_gmxapi-remove-builddependencies.patch'], + ('gmxapi', '0.5.0a1', { + 'patches': ['GROMACS-2024.1-fix-gmxapi-version.patch'], 'preinstallopts': 'export CMAKE_ARGS="-Dgmxapi_ROOT=%(installdir)s ' + '-C %(installdir)s/share/cmake/gromacs_mpi/gromacs-hints_mpi.cmake" && ', + 'source_tmpl': 'gromacs-%s.tar.gz' % _gmxapi_source_version, + 'start_dir': 'python_packaging/gmxapi', 'checksums': [ - {'gmxapi-0.4.2.tar.gz': 'c746c6498c73a75913d7fcb01c13cc001d4bcb82999e9bf91d63578565ed1a1f'}, - {'GROMACS-2025.2_gmxapi-remove-builddependencies.patch': - 'd35eedea75167a88cd1c74df4c201b666ec9f8aef00f0fc6136380e36eb1e0e5'}, + {'gromacs-2025.3.tar.gz': '8bdfca0268f3f10a7ca3c06e59b62f73ea02420c67211c0ff3912f32d7833c65'}, + {'GROMACS-2024.1-fix-gmxapi-version.patch': + 'df30b21352a26d8e01d693e2822db0ea45015c23f900a6ceb68522d44e6e790c'}, ], }), ] moduleclass = 'bio' + From 03c7f74a35a6af26a410df4d393c59b2f9d9d97d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Bob=20Dr=C3=B6ge?= Date: Wed, 22 Apr 2026 13:53:15 +0200 Subject: [PATCH 3/3] remove blank line --- .../g/GROMACS/GROMACS-2025.3-foss-2025b-CUDA-12.9.1.eb | 1 - 1 file changed, 1 deletion(-) diff --git a/easybuild/easyconfigs/g/GROMACS/GROMACS-2025.3-foss-2025b-CUDA-12.9.1.eb b/easybuild/easyconfigs/g/GROMACS/GROMACS-2025.3-foss-2025b-CUDA-12.9.1.eb index d68458a8f6c..c7ca058f94b 100644 --- a/easybuild/easyconfigs/g/GROMACS/GROMACS-2025.3-foss-2025b-CUDA-12.9.1.eb +++ b/easybuild/easyconfigs/g/GROMACS/GROMACS-2025.3-foss-2025b-CUDA-12.9.1.eb @@ -91,4 +91,3 @@ exts_list = [ ] moduleclass = 'bio' -