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
This commit is contained in:
Lukas Krupcik 2023-07-21 12:58:47 +02:00
parent 294025ae44
commit 98c14079bb
3 changed files with 189 additions and 0 deletions

View File

@ -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'

View File

@ -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'

View File

@ -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'