Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

{bio}[foss/2023b] GROMACS v2024.2 w/ CUDA 12.5.0 #20809

Open
wants to merge 6 commits into
base: develop
Choose a base branch
from
Open
Original file line number Diff line number Diff line change
@@ -0,0 +1,88 @@
# 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 = '2024.2'
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': '2023b'}
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',
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I was recently looking into GROMACS 2024.2 as well, and was wondering if this patch is still required. https://gitlab.com/gromacs/gromacs/-/merge_requests/4093 may solve the same or at least similar issue. Looks like @akesandgren added this patch, so maybe he knows?

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

GROMACS-2023.1_fix_tests_for_gmx_thread_mpi.patch should still be relevant as long as it passes patching.
Especially the "Don't drop relevant PYTHONPATH and LD_LIBRARY_PATH settings." part is vital.

I haven't looked at 2024.2 but I assume they haven't fixed those parts yet.

And GROMACS-2023.1_set_omp_num_threads_env_for_ntomp_tests.patch is just an extra precaution to keep OMMP_NUM_THREADS and --ntomp in sync.

]
checksums = [
{'gromacs-2024.2.tar.gz': '802a7e335f2e895770f57b159e4ec368ebb0ff2ce6daccf706c6e8025c36852b'},
{'GROMACS-2023.1_set_omp_num_threads_env_for_ntomp_tests.patch':
'7f41bda16c9c2837624265dda4be252f655d1288ddc4486b1a2422af30d5d199'},
{'GROMACS-2023.1_fix_tests_for_gmx_thread_mpi.patch':
'6df844bb3bbc51180446a3595c61a4ef195e5f975533a04cef76841aa763aec1'},
]

builddependencies = [
('CMake', '3.27.6'),
('scikit-build', '0.17.6'),
]

dependencies = [
('CUDA', '12.5.0', '', SYSTEM),
('UCX-CUDA', '1.15.0', versionsuffix),
('Python', '3.11.5'),
('SciPy-bundle', '2023.11'),
('networkx', '3.2.1'),
('mpi4py', '3.1.5'),
]

exts_defaultclass = 'PythonPackage'

exts_default_options = {
'source_urls': [PYPI_SOURCE],
'use_pip': True,
'download_dep_fail': True,
'sanity_pip_check': True,
}

exts_list = [
('gmxapi', '0.4.2', {
'preinstallopts': 'export CMAKE_ARGS="-Dgmxapi_ROOT=%(installdir)s -C %(installdir)s/share/cmake/gromacs_mpi/gromacs-hints_mpi.cmake" && ',
'source_tmpl': 'gromacs-2023.3.tar.gz',
Copy link
Contributor

@bedroge bedroge Jun 26, 2024

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This should correspond to the current version (and the version of gmxapi needs to be bumped as well).

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Ugh... Fixed in 5dc1057

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

'start_dir': 'python_packaging/gmxapi',
'checksums': ['4ec8f8d0c7af76b13f8fd16db8e2c120e749de439ae9554d9f653f812d78d1cb'],
}),
]

modextrapaths = {
'PYTHONPATH': 'lib/python%(pyshortver)s/site-packages',
}

moduleclass = 'bio'
Loading