diff --git a/g/GROMACS/GROMACS-2023-foss-2022a-CUDA-12.0.0-PLUMED-2.9.0-mpi.eb b/g/GROMACS/GROMACS-2023-foss-2022a-CUDA-12.0.0-PLUMED-2.9.0-mpi.eb new file mode 100644 index 00000000..c06bd311 --- /dev/null +++ b/g/GROMACS/GROMACS-2023-foss-2022a-CUDA-12.0.0-PLUMED-2.9.0-mpi.eb @@ -0,0 +1,77 @@ +# IT4Innovations +# LK 2023 + +name = 'GROMACS' +version = '2023' +local_plum_ver = '2.9.0' +versionsuffix = '-CUDA-12.2.0-PLUMED-2.9.0-mpi' + +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': '2022a'} +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', +] +checksums = [ + {'gromacs-2023.tar.gz': 'ac92c6da72fbbcca414fd8a8d979e56ecf17c4c1cdabed2da5cfb4e7277b7ba8'}, + {'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.24.3'), + ('scikit-build', '0.15.0'), +] + +dependencies = [ + ('CUDA', '12.0.0', '', SYSTEM), + ('UCX-CUDA', '1.12.1', '-CUDA-%(cudaver)s'), + ('Python', '3.10.4'), + ('SciPy-bundle', '2022.05'), + ('networkx', '2.8.4'), + ('PLUMED', local_plum_ver, '-mpi'), +] + +configopts = '-DGMX_MPI=ON' + +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', + 'start_dir': 'python_packaging/gmxapi', + 'checksums': ['4ec8f8d0c7af76b13f8fd16db8e2c120e749de439ae9554d9f653f812d78d1cb'], + }), +] + +modextrapaths = { + 'PYTHONPATH': 'lib/python%(pyshortver)s/site-packages', +} + +moduleclass = 'bio' diff --git a/g/GROMACS/GROMACS-2023-foss-2022a-CUDA-12.0.0-PLUMED-2.9.0.eb b/g/GROMACS/GROMACS-2023-foss-2022a-CUDA-12.0.0-PLUMED-2.9.0.eb index 604cbc48..5eb5c7ba 100644 --- a/g/GROMACS/GROMACS-2023-foss-2022a-CUDA-12.0.0-PLUMED-2.9.0.eb +++ b/g/GROMACS/GROMACS-2023-foss-2022a-CUDA-12.0.0-PLUMED-2.9.0.eb @@ -49,8 +49,6 @@ dependencies = [ ('PLUMED', local_plum_ver), ] -configopts = '-DGMX_MPI=ON' - exts_defaultclass = 'PythonPackage' exts_default_options = { diff --git a/p/PLUMED/PLUMED-2.9.0-foss-2022a-mpi.eb b/p/PLUMED/PLUMED-2.9.0-foss-2022a-mpi.eb new file mode 100644 index 00000000..6775b70c --- /dev/null +++ b/p/PLUMED/PLUMED-2.9.0-foss-2022a-mpi.eb @@ -0,0 +1,65 @@ +# IT4Innovations +# LK 2023 + +easyblock = 'ConfigureMake' + +name = 'PLUMED' +version = '2.9.0' +versionsuffix = '-mpi' + +homepage = 'https://www.plumed.org' +description = """PLUMED is an open source library for free energy calculations in molecular systems which + works together with some of the most popular molecular dynamics engines. Free energy calculations can be + performed as a function of many order parameters with a particular focus on biological problems, using + state of the art methods such as metadynamics, umbrella sampling and Jarzynski-equation based steered MD. + The software, written in C++, can be easily interfaced with both fortran and C/C++ codes. +""" + +toolchain = {'name': 'foss', 'version': '2022a'} +toolchainopts = {'usempi': 'True'} + +source_urls = ['https://github.com/plumed/plumed2/releases/download/v%(version)s/'] +sources = [SOURCE_TGZ] +checksums = ['534db9ccb9446844f3e99ecdff091ad79c014ce9c4afe212c1536e19f85ab0d1'] + +builddependencies = [ + ('xxd', '8.2.4220'), +] + +dependencies = [ + ('zlib', '1.2.12'), + ('GSL', '2.7'), + ('Python', '3.10.4'), + ('SciPy-bundle', '2022.05'), + ('Boost', '1.79.0'), +] + +preconfigopts = 'env FC=$MPIF90 LIBS="$LIBLAPACK $LIBS" ' +configopts = '--exec-prefix=%(installdir)s --enable-gsl --enable-modules=all --enable-python ' +configopts += '--enable-boost_graph --enable-boost_serialization ' +configopts += '--enable-asmjit ' +configopts += '--enable-mpi ' +prebuildopts = 'source sourceme.sh && ' + +# make sure that ld.gold linker is used +# required to work around problems like "ld: BFD (GNU Binutils) 2.30 assertion fail elf.c:3564" +# (problem with intel build but maintain consistency between easyconfigs) +buildopts = 'LD_RO="ld.gold -r -o"' + +# install path for PLUMED libraries must be included in $LD_LIBRARY_PATH when Python bindings get built/installed +preinstallopts = 'LD_LIBRARY_PATH="%(installdir)s/lib:$LD_LIBRARY_PATH" ' + +sanity_check_paths = { + 'files': ['bin/plumed', 'lib/libplumedKernel.%s' % SHLIB_EXT, 'lib/libplumed.%s' % SHLIB_EXT], + 'dirs': [], +} + +sanity_check_commands = ["python -c 'import plumed'"] + +modextrapaths = { + 'PLUMED_KERNEL': 'lib/libplumedKernel.%s' % SHLIB_EXT, + 'PLUMED_ROOT': 'lib/plumed', + 'PYTHONPATH': 'lib/plumed/python', +} + +moduleclass = 'chem' diff --git a/p/PLUMED/PLUMED-2.9.0-foss-2022a.eb b/p/PLUMED/PLUMED-2.9.0-foss-2022a.eb index c8533c24..020a82a4 100644 --- a/p/PLUMED/PLUMED-2.9.0-foss-2022a.eb +++ b/p/PLUMED/PLUMED-2.9.0-foss-2022a.eb @@ -37,7 +37,6 @@ preconfigopts = 'env FC=$MPIF90 LIBS="$LIBLAPACK $LIBS" ' configopts = '--exec-prefix=%(installdir)s --enable-gsl --enable-modules=all --enable-python ' configopts += '--enable-boost_graph --enable-boost_serialization ' configopts += '--enable-asmjit ' -configopts += '--enable-mpi ' prebuildopts = 'source sourceme.sh && ' # make sure that ld.gold linker is used