-
Notifications
You must be signed in to change notification settings - Fork 4
Add GROMACS easyconfig template with software-commit
#2
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
Merged
Merged
Changes from all commits
Commits
Show all changes
10 commits
Select commit
Hold shift + click to select a range
1790ad8
Add GROMACS easyconfig template with
Neves-P 628dcd0
Add GROMACS easyconfig template with software-commit
Neves-P 3175149
Rename easystack to correct pattern and tweak easyconfig
Neves-P 6605984
Move files to the right place. Also delete espresso easystack for thi…
Neves-P a33f856
Bump version; Improve source tarball handling
Neves-P ca94dd8
Update gromacs-eb-4.9.4-dev.yml
Neves-P 3c0e67e
Update and rename GROMACS-2024.1-foss-2023b-software-commit.eb to GRO…
Neves-P 79701a2
Remove checksums
Neves-P a12ae12
Update easyconfigs/GROMACS-2024.3-foss-2023b-software-commit.eb
Neves-P bb757eb
Delete easyconfigs/GROMACS-2024.1_fix-tests-filesystem-race.patch
bedroge File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
68 changes: 68 additions & 0 deletions
68
easyconfigs/GROMACS-2023.1_fix_tests_for_gmx_thread_mpi.patch
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,68 @@ | ||
| Make testing of GMX_THREAD_MPI work. | ||
| Don't drop relevant PYTHONPATH and LD_LIBRARY_PATH settings. | ||
| Make sure OMP_NUM_THREADS is not set so it doesn't fail when -ntomp is set. | ||
| Don't use mpiexec for GMX_THREAD_MPI runs. | ||
|
|
||
| Åke Sandgren, 2023-06-27 | ||
| diff -ru gromacs-2023.1.orig/python_packaging/gmxapi/test/CMakeLists.txt gromacs-2023.1/python_packaging/gmxapi/test/CMakeLists.txt | ||
| --- gromacs-2023.1.orig/python_packaging/gmxapi/test/CMakeLists.txt 2023-04-21 15:12:07.000000000 +0200 | ||
| +++ gromacs-2023.1/python_packaging/gmxapi/test/CMakeLists.txt 2023-06-27 08:08:49.967184214 +0200 | ||
| @@ -61,7 +61,7 @@ | ||
| endif() | ||
|
|
||
| add_custom_target(gmxapi_pytest | ||
| - COMMAND ${PYTHON_EXECUTABLE} -m pytest | ||
| + COMMAND ${CMAKE_COMMAND} -E env --unset=OMP_NUM_THREADS ${PYTHON_EXECUTABLE} -m pytest | ||
| -rA -l --log-cli-level ERROR ${CMAKE_CURRENT_SOURCE_DIR} | ||
| DEPENDS _gmxapi | ||
| WORKING_DIRECTORY ${GMXAPI_PYTHON_STAGING_DIR}) | ||
| @@ -70,6 +70,7 @@ | ||
|
|
||
| add_dependencies(check gmxapi_pytest) | ||
|
|
||
| +if (GMX_MPI) | ||
| if(MPIEXEC_EXECUTABLE) | ||
| if(NOT GMXAPI_MPI4PY_FOUND) | ||
| if (MPI_C_COMPILER) | ||
| @@ -107,3 +108,4 @@ | ||
|
|
||
| add_dependencies(check gmxapi_pytest_mpi) | ||
| endif() | ||
| +endif() | ||
| diff -ru gromacs-2023.1.orig/python_packaging/sample_restraint/tests/CMakeGROMACS.txt gromacs-2023.1/python_packaging/sample_restraint/tests/CMakeGROMACS.txt | ||
| --- gromacs-2023.1.orig/python_packaging/sample_restraint/tests/CMakeGROMACS.txt 2023-04-21 15:12:07.000000000 +0200 | ||
| +++ gromacs-2023.1/python_packaging/sample_restraint/tests/CMakeGROMACS.txt 2023-06-27 09:10:31.134866196 +0200 | ||
| @@ -21,15 +21,18 @@ | ||
| get_target_property(PLUGINPATH gmxapi_extension LIBRARY_OUTPUT_DIRECTORY) | ||
| add_custom_target(gmxapi_extension_pytest | ||
| COMMAND ${CMAKE_COMMAND} | ||
| - -E env PYTHONPATH=${GMXAPI_PYTHON_STAGING_DIR}:${PLUGINPATH} | ||
| + -E env --unset=OMP_NUM_THREADS LD_LIBRARY_PATH=$ENV{LD_LIBRARY_PATH} PYTHONPATH=$ENV{PYTHONPATH}:${GMXAPI_PYTHON_STAGING_DIR}:${PLUGINPATH} | ||
| ${PYTHON_EXECUTABLE} -m pytest --log-cli-level ERROR | ||
| ${CMAKE_CURRENT_SOURCE_DIR} | ||
| - DEPENDS gmxapi_extension _gmxapi) | ||
| + DEPENDS gmxapi_extension _gmxapi | ||
| + WORKING_DIRECTORY ${GMXAPI_PYTHON_STAGING_DIR}) | ||
| + | ||
| # The current test fixtures require the `gmx` tool-wrapper executable. | ||
| add_dependencies(gmxapi_extension_pytest gmx) | ||
|
|
||
| add_dependencies(check gmxapi_extension_pytest) | ||
|
|
||
| +if (GMX_MPI) | ||
| if(MPIEXEC_EXECUTABLE) | ||
| if(NOT GMXAPI_MPI4PY_FOUND) | ||
| if (MPI_C_COMPILER) | ||
| @@ -58,10 +61,11 @@ | ||
| # (https://www.open-mpi.org/doc/v3.0/man1/mpiexec.1.php) | ||
| add_custom_target( | ||
| gmxapi_extension_pytest_mpi | ||
| - COMMAND ${MPIEXEC_EXECUTABLE} -n 4 -x PYTHONPATH=${GMXAPI_PYTHON_STAGING_DIR}:${PLUGINPATH} | ||
| + COMMAND ${MPIEXEC_EXECUTABLE} -n 4 -x PYTHONPATH=$ENV{PYTHONPATH}:${GMXAPI_PYTHON_STAGING_DIR}:${PLUGINPATH} | ||
| ${PYTHON_EXECUTABLE} -m mpi4py -m pytest -x --log-cli-level ERROR ${CMAKE_CURRENT_SOURCE_DIR} | ||
| DEPENDS gmxapi_extension _gmxapi gmx | ||
| ) | ||
|
|
||
| add_dependencies(check gmxapi_extension_pytest_mpi) | ||
| endif() | ||
| +endif() |
14 changes: 14 additions & 0 deletions
14
easyconfigs/GROMACS-2023.1_set_omp_num_threads_env_for_ntomp_tests.patch
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,14 @@ | ||
| Make sure env OMP_NUM_THREADS matches -ntomp argument during testing. | ||
|
|
||
| Åke Sandgren, 2023-06-22 | ||
| diff -ru gromacs-2023.1.orig/src/testutils/TestMacros.cmake gromacs-2023.1/src/testutils/TestMacros.cmake | ||
| --- gromacs-2023.1.orig/src/testutils/TestMacros.cmake 2023-04-21 15:12:08.000000000 +0200 | ||
| +++ gromacs-2023.1/src/testutils/TestMacros.cmake 2023-06-22 16:29:28.338270785 +0200 | ||
| @@ -288,6 +288,7 @@ | ||
| endif () | ||
| set(_cmd ${_prefix_cmd} $<TARGET_FILE:${EXENAME}>) | ||
| if (ARG_OPENMP_THREADS) | ||
| + set(_cmd "env" "OMP_NUM_THREADS=${ARG_OPENMP_THREADS}" ${_cmd}) | ||
| if (GMX_OPENMP) | ||
| list(APPEND _cmd -ntomp ${ARG_OPENMP_THREADS}) | ||
| endif() |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,79 @@ | ||
| # 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.3' | ||
| versionsuffix = '-%(software_commit)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 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': '2023b'} | ||
| toolchainopts = {'openmp': True, 'usempi': True} | ||
|
|
||
| github_account = 'gromacs' | ||
| source_urls = ['https://github.com/%(github_account)s/%(name)s/archive/'] | ||
|
|
||
|
|
||
| sources = ['%(software_commit)s.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', | ||
| ] | ||
|
|
||
| builddependencies = [ | ||
| ('CMake', '3.27.6'), | ||
| ('scikit-build-core', '0.9.3'), | ||
| ] | ||
|
|
||
| dependencies = [ | ||
| ('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" && ', | ||
| }), | ||
| ] | ||
|
|
||
| modextrapaths = { | ||
| 'PYTHONPATH': 'lib/python%(pyshortver)s/site-packages', | ||
| } | ||
|
|
||
| moduleclass = 'bio' |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,4 @@ | ||
| easyconfigs: | ||
| - GROMACS-2024.3-foss-2023b-software-commit.eb: | ||
| options: | ||
| software-commit: d0f934abfd1394621c40858a2c2dd9123451df4e # release 2024.3 | ||
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Uh oh!
There was an error while loading. Please reload this page.