Skip to content
Open
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
@@ -0,0 +1,85 @@
# 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 <[email protected]>
# * Fotis Georgatos <[email protected]>
# * George Tsouloupas <[email protected]>
# * Kenneth Hoste <[email protected]>
# * Adam Huffman <[email protected]>
# * Ake Sandgren <[email protected]>
# * J. Sassmannshausen <Crick HPC team>
# * Dugan Witherick <[email protected]>
# * Christoph Siegert <[email protected]>
# 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-core', '0.9.3'),
]

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'),
]

# 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', {
'preinstallopts': 'export CMAKE_ARGS="-Dgmxapi_ROOT=%(installdir)s ' +
'-C %(installdir)s/share/cmake/gromacs_mpi/gromacs-hints_mpi.cmake" && ',
'sources': ['gromacs-%s.tar.gz' % version],
'start_dir': 'python_packaging/gmxapi',
'checksums': ['802a7e335f2e895770f57b159e4ec368ebb0ff2ce6daccf706c6e8025c36852b'],
}),
]
moduleclass = 'bio'