Skip to content

{bio}[foss/2025b] GROMACS v2025.3 w/ CUDA 12.9.1#25215

Open
FelixBangerter wants to merge 2 commits intoeasybuilders:developfrom
FelixBangerter:20260205111352_new_pr_GROMACS20253
Open

{bio}[foss/2025b] GROMACS v2025.3 w/ CUDA 12.9.1#25215
FelixBangerter wants to merge 2 commits intoeasybuilders:developfrom
FelixBangerter:20260205111352_new_pr_GROMACS20253

Conversation

@FelixBangerter
Copy link
Copy Markdown

(created using eb --new-pr)

@github-actions github-actions bot added 2025b issues & PRs related to 2025b common toolchains update labels Feb 5, 2026
@github-actions
Copy link
Copy Markdown

github-actions bot commented Feb 5, 2026

Updated software GROMACS-2025.3-foss-2025b-CUDA-12.9.1.eb

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-2025.3-foss-2025b-CUDA-12.9.1.eb
index ec5805ab48..d68458a8f6 100644
--- a/easybuild/easyconfigs/g/GROMACS/GROMACS-2025.2-lmpflf-2025b.eb
+++ b/easybuild/easyconfigs/g/GROMACS/GROMACS-2025.3-foss-2025b-CUDA-12.9.1.eb
@@ -15,7 +15,8 @@
 # License::   MIT/GPL
 
 name = 'GROMACS'
-version = '2025.2'
+version = '2025.3'
+versionsuffix = '-CUDA-%(cudaver)s'
 
 homepage = 'https://www.gromacs.org'
 description = """
@@ -23,13 +24,12 @@ 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 CPU only build, containing both MPI and threadMPI binaries
-for both single and double precision.
+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': 'lmpflf', 'version': '2025b'}
+toolchain = {'name': 'foss', 'version': '2025b'}
 toolchainopts = {'openmp': True, 'usempi': True}
 
 source_urls = [
@@ -41,17 +41,15 @@ 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',
 ]
 checksums = [
-    {'gromacs-2025.2.tar.gz': '0df09f9d45a99ef00e66b9baa9493a27e906813763a3b6c7672217c66b43ea11'},
+    {'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'},
-    {'GROMACS-2025.2_fix-sample_restraint-mpich-launch.patch':
-     'a910ec50cf296a6bdf8e5d425617d54c13b4ef049b61196487d7dc8a8f674e2c'},
+    {'GROMACS-2025.2_workaround-arm-sve512.patch':
+     'e62e075ee9328f647954365edd7979ea79e6f1d7a3b84834a2aae546cf74772c'},
 ]
 
 builddependencies = [
@@ -61,6 +59,8 @@ builddependencies = [
 ]
 
 dependencies = [
+    ('CUDA', '12.9.1', '', SYSTEM),
+    ('UCX-CUDA', '1.19.0', versionsuffix),
     ('Python', '3.13.5'),
     ('SciPy-bundle', '2025.07'),
     ('networkx', '3.5'),
@@ -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'
+
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-2025.3-foss-2025b-CUDA-12.9.1.eb
index fc29744c2c..d68458a8f6 100644
--- a/easybuild/easyconfigs/g/GROMACS/GROMACS-2025.2-lfoss-2025b.eb
+++ b/easybuild/easyconfigs/g/GROMACS/GROMACS-2025.3-foss-2025b-CUDA-12.9.1.eb
@@ -15,7 +15,8 @@
 # License::   MIT/GPL
 
 name = 'GROMACS'
-version = '2025.2'
+version = '2025.3'
+versionsuffix = '-CUDA-%(cudaver)s'
 
 homepage = 'https://www.gromacs.org'
 description = """
@@ -23,13 +24,12 @@ 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 CPU only build, containing both MPI and threadMPI binaries
-for both single and double precision.
+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': 'lfoss', 'version': '2025b'}
+toolchain = {'name': 'foss', 'version': '2025b'}
 toolchainopts = {'openmp': True, 'usempi': True}
 
 source_urls = [
@@ -43,12 +43,13 @@ patches = [
     'GROMACS-2025.2_workaround-arm-sve512.patch',
 ]
 checksums = [
-    {'gromacs-2025.2.tar.gz': '0df09f9d45a99ef00e66b9baa9493a27e906813763a3b6c7672217c66b43ea11'},
+    {'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'},
+    {'GROMACS-2025.2_workaround-arm-sve512.patch':
+     'e62e075ee9328f647954365edd7979ea79e6f1d7a3b84834a2aae546cf74772c'},
 ]
 
 builddependencies = [
@@ -58,6 +59,8 @@ builddependencies = [
 ]
 
 dependencies = [
+    ('CUDA', '12.9.1', '', SYSTEM),
+    ('UCX-CUDA', '1.19.0', versionsuffix),
     ('Python', '3.13.5'),
     ('SciPy-bundle', '2025.07'),
     ('networkx', '3.5'),
@@ -70,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'
+
Diff against GROMACS-2025.3-foss-2025b.eb

easybuild/easyconfigs/g/GROMACS/GROMACS-2025.3-foss-2025b.eb

diff --git a/easybuild/easyconfigs/g/GROMACS/GROMACS-2025.3-foss-2025b.eb b/easybuild/easyconfigs/g/GROMACS/GROMACS-2025.3-foss-2025b-CUDA-12.9.1.eb
index 415b6a16f9..d68458a8f6 100644
--- a/easybuild/easyconfigs/g/GROMACS/GROMACS-2025.3-foss-2025b.eb
+++ b/easybuild/easyconfigs/g/GROMACS/GROMACS-2025.3-foss-2025b-CUDA-12.9.1.eb
@@ -16,6 +16,7 @@
 
 name = 'GROMACS'
 version = '2025.3'
+versionsuffix = '-CUDA-%(cudaver)s'
 
 homepage = 'https://www.gromacs.org'
 description = """
@@ -23,8 +24,7 @@ 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 CPU only build, containing both MPI and threadMPI binaries
-for both single and double precision.
+This is a GPU enabled build, containing both MPI and threadMPI binaries.
 
 It also contains the gmxapi extension for the single precision MPI build.
 """
@@ -59,6 +59,8 @@ builddependencies = [
 ]
 
 dependencies = [
+    ('CUDA', '12.9.1', '', SYSTEM),
+    ('UCX-CUDA', '1.19.0', versionsuffix),
     ('Python', '3.13.5'),
     ('SciPy-bundle', '2025.07'),
     ('networkx', '3.5'),
@@ -71,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'
+

@FelixBangerter
Copy link
Copy Markdown
Author

Test report by @FelixBangerter
SUCCESS
Build succeeded for 1 out of 1 (total: 37 mins 42 secs) (1 easyconfigs in total)
genoa-hopper-02.clusterurz - Linux AlmaLinux 8.9, x86_64, AMD EPYC 9554 64-Core Processor, Python 3.6.8
See https://gist.github.com/FelixBangerter/32c32f53eaea31986066ae6515f83b74 for a full test report.

@FelixBangerter
Copy link
Copy Markdown
Author

Note, the contirbuted EasyConfig includes the patch introduced in PR #25188, so this PR should be merged first since the included patch is used in the updated EasyConfig here.

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

Labels

2025b issues & PRs related to 2025b common toolchains update

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant