From 98c14079bb77e000fc5076e3048866b8b1d9da09 Mon Sep 17 00:00:00 2001 From: Lukas Krupcik Date: Fri, 21 Jul 2023 12:58:47 +0200 Subject: [PATCH] new file: g/GROMACS/GROMACS-2022-foss-2020a-CUDA-12.0.0-constantph.eb new file: g/GROMACS/GROMACS-2023.1-foss-2022a-CUDA-12.0.0.eb new file: u/UCX-CUDA/UCX-CUDA-1.12.1-GCCcore-11.3.0-CUDA-12.0.0.eb --- ...-2022-foss-2020a-CUDA-12.0.0-constantph.eb | 66 ++++++++++++++++ .../GROMACS-2023.1-foss-2022a-CUDA-12.0.0.eb | 78 +++++++++++++++++++ ...-CUDA-1.12.1-GCCcore-11.3.0-CUDA-12.0.0.eb | 45 +++++++++++ 3 files changed, 189 insertions(+) create mode 100644 g/GROMACS/GROMACS-2022-foss-2020a-CUDA-12.0.0-constantph.eb create mode 100644 g/GROMACS/GROMACS-2023.1-foss-2022a-CUDA-12.0.0.eb create mode 100644 u/UCX-CUDA/UCX-CUDA-1.12.1-GCCcore-11.3.0-CUDA-12.0.0.eb diff --git a/g/GROMACS/GROMACS-2022-foss-2020a-CUDA-12.0.0-constantph.eb b/g/GROMACS/GROMACS-2022-foss-2020a-CUDA-12.0.0-constantph.eb new file mode 100644 index 00000000..37522c6c --- /dev/null +++ b/g/GROMACS/GROMACS-2022-foss-2020a-CUDA-12.0.0-constantph.eb @@ -0,0 +1,66 @@ +# IT4Innovations 2023 +# JK, LK +# pokus o na prase instalaci devel verze, ktera by v budoucnu mela byt mergnuta do GROMACSu +# GCC <= 9 + +name = 'GROMACS' +version = '2022' +versionsuffix = '-CUDA-12.0.0-constantph' +local_commit = '9bb0cc2f' + +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 builds +for both single and double precision. + +It also contains the gmxapi extension for the single precision MPI build. +""" + +toolchain = {'name': 'foss', 'version': '2020a'} +toolchainopts = {'openmp': True, 'usempi': True} + +source_urls = ['https://gitlab.com/gromacs-constantph/constantph/-/archive/main/'] +sources = [{'download_filename': 'constantph-main.tar.gz', 'filename': 'gromacs-2022-contstantph.tar.gz', +'extract_cmd': "tar -xzvf %s --strip 1 constantph-main/gromacs-constantph"}] +patches = [ + 'GROMACS-2019_fix_omp_num_threads_and_google_test_death_style_in_tests.patch', + 'GROMACS-2019_increase_test_timeout_for_GPU.patch', + 'GROMACS-2021_fix_gmxapi_gmx_allowed_cmd_name.patch', + 'GROMACS-2022-constantph-fix_missing_header.patch', +# 'GROMACS-2021.5_fix_threads_gpu_Gmxapitests.patch', +] +checksums = [ + {'gromacs-2022-contstantph.tar.gz': '58c5b4353de41996a62bbfc0288eb1487eb7ee189210388009776968f4ade9c8'}, + {'GROMACS-2019_fix_omp_num_threads_and_google_test_death_style_in_tests.patch': + '406f5edd204be812f095a6f07ebc2673c5f6ddf1b1c1428fd336a80b9c629275'}, + {'GROMACS-2019_increase_test_timeout_for_GPU.patch': + '0d16f53d428155197a0ed0b0974ce03422f199d7c463c4a9156a3b99e3c86234'}, + {'GROMACS-2021_fix_gmxapi_gmx_allowed_cmd_name.patch': + 'b7ffb292ec362e033db1bedd340353f0644dbaae872127750f3dda1ac7e87d49'}, + {'GROMACS-2022-constantph-fix_missing_header.patch': + '1c4a9601c58e6a0c5bc4959790dc1a519c8cbca35b5ca0ac5c12e8a31198b3df'}, +] + +builddependencies = [ + ('CMake', '3.16.4'), + ('scikit-build', '0.10.0', '-Python-3.8.2'), +] + +dependencies = [ + ('Python', '3.8.2'), + ('SciPy-bundle', '2020.03', '-Python-3.8.2'), + ('networkx', '2.4', '-Python-3.8.2'), + ('CUDA', '12.0.0', '', True), +] + +modextrapaths = { + 'PYTHONPATH': 'lib/python%(pyshortver)s/site-packages', +} + +cuda_compute_capabilities = ['3.5', '3.7', '5.2', '6.0', '6.1', '7.0', '7.2', '7.5', '8.0'] + +moduleclass = 'bio' diff --git a/g/GROMACS/GROMACS-2023.1-foss-2022a-CUDA-12.0.0.eb b/g/GROMACS/GROMACS-2023.1-foss-2022a-CUDA-12.0.0.eb new file mode 100644 index 00000000..0eb7e08e --- /dev/null +++ b/g/GROMACS/GROMACS-2023.1-foss-2022a-CUDA-12.0.0.eb @@ -0,0 +1,78 @@ +# IT4Innovations +# LK 2023 + +name = 'GROMACS' +version = '2023.1' +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': '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-%(version)s_fix_env_for_subprocesses.patch', + 'GROMACS-%(version)s_set_omp_num_threads_env_for_ntomp_tests.patch', + 'GROMACS-%(version)s_fix_tests_for_gmx_thread_mpi.patch', +] +checksums = [ + {'gromacs-2023.1.tar.gz': 'eef2bb4a6cb6314cf9da47f26df2a0d27af4bf7b3099723d43601073ab0a42f4'}, + {'GROMACS-2023.1_fix_env_for_subprocesses.patch': + '39ba066c936cddc190bab13c47d6af1575f5d7737d5c0719fe46211a13cd3539'}, + {'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', versionsuffix), + ('Python', '3.10.4'), + ('SciPy-bundle', '2022.05'), + ('networkx', '2.8.4'), +] + +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.0', { + 'preinstallopts': 'export CMAKE_ARGS="-Dgmxapi_ROOT=%(installdir)s ' + + '-C %(installdir)s/share/cmake/gromacs_mpi/gromacs-hints_mpi.cmake" && ', + 'source_tmpl': 'gromacs-2023.1.tar.gz', + 'start_dir': 'python_packaging/gmxapi', + 'checksums': ['eef2bb4a6cb6314cf9da47f26df2a0d27af4bf7b3099723d43601073ab0a42f4'], + }), +] + +modextrapaths = { + 'PYTHONPATH': 'lib/python%(pyshortver)s/site-packages', +} + +moduleclass = 'bio' diff --git a/u/UCX-CUDA/UCX-CUDA-1.12.1-GCCcore-11.3.0-CUDA-12.0.0.eb b/u/UCX-CUDA/UCX-CUDA-1.12.1-GCCcore-11.3.0-CUDA-12.0.0.eb new file mode 100644 index 00000000..94a71118 --- /dev/null +++ b/u/UCX-CUDA/UCX-CUDA-1.12.1-GCCcore-11.3.0-CUDA-12.0.0.eb @@ -0,0 +1,45 @@ +# IT4Innovations +# LK 2023 + +easyblock = 'EB_UCX_Plugins' + +name = 'UCX-CUDA' +version = '1.12.1' +versionsuffix = '-CUDA-%(cudaver)s' + +homepage = 'http://www.openucx.org/' +description = """Unified Communication X +An open-source production grade communication framework for data centric +and high-performance applications + +This module adds the UCX CUDA support. +""" + +toolchain = {'name': 'GCCcore', 'version': '11.3.0'} +toolchainopts = {'pic': True} + +source_urls = ['https://github.com/openucx/ucx/releases/download/v%(version)s'] +sources = [{'filename': 'ucx-%(version)s.tar.gz', 'alt_location': 'UCX'}] +patches = [ + '%(name)s-1.11.0_link_against_existing_UCX_libs.patch', +] +checksums = [ + {'ucx-1.12.1.tar.gz': '40b447c8e7da94a253f2828001b2d76021eb4ad39647107d433d62d61e18ae8e'}, + {'UCX-CUDA-1.11.0_link_against_existing_UCX_libs.patch': + '457187fa020e526609ba91e7750c9941d57bd57d60d6eed317b40ad8824aca93'}, +] + +builddependencies = [ + ('binutils', '2.38'), + ('Autotools', '20220317'), + ('pkgconf', '1.8.0'), +] + +dependencies = [ + ('zlib', '1.2.12'), + ('UCX', version), + ('CUDA', '12.0.0', '', SYSTEM), + ('GDRCopy', '2.3'), +] + +moduleclass = 'lib'