mirror of
https://code.it4i.cz/sccs/easyconfigs-it4i.git
synced 2025-04-03 13:51:32 +01:00
new file: d/DFTB+/DFTB+-24.1-foss-2023a-TB.eb
new file: h/HDF5/HDF5-1.14.5-gompi-2024a.eb new file: h/HyperQueue/HyperQueue-0.21.1.eb new file: j/JasPer/JasPer-4.2.4-GCCcore-13.3.0.eb new file: n/netCDF-Fortran/netCDF-Fortran-4.6.1-gompi-2024a.eb new file: n/netCDF/netCDF-4.9.2-gompi-2024a.eb
This commit is contained in:
parent
ca1d635cb4
commit
997118e1ea
104
d/DFTB+/DFTB+-24.1-foss-2023a-TB.eb
Normal file
104
d/DFTB+/DFTB+-24.1-foss-2023a-TB.eb
Normal file
@ -0,0 +1,104 @@
|
||||
# IT4Innovations
|
||||
# PH 2025
|
||||
|
||||
easyblock = 'CMakeMake'
|
||||
|
||||
name = 'DFTB+'
|
||||
version = '24.1'
|
||||
versionsuffix = '-TB'
|
||||
|
||||
homepage = 'https://www.dftb-plus.info'
|
||||
description = """DFTB+ is a fast and efficient versatile quantum mechanical simulation package.
|
||||
It is based on the Density Functional Tight Binding (DFTB) method, containing
|
||||
almost all of the useful extensions which have been developed for the DFTB
|
||||
framework so far. Using DFTB+ you can carry out quantum mechanical simulations
|
||||
like with ab-initio density functional theory based packages, but in an
|
||||
approximate way gaining typically around two order of magnitude in speed."""
|
||||
|
||||
toolchain = {'name': 'foss', 'version': '2023a'}
|
||||
|
||||
import os
|
||||
if os.environ.get("CLUSTERNAME") in ["KAROLINA"]:
|
||||
toolchainopts = {'usempi': True, 'openmp': True, 'pic': True, 'lowopt': True, 'optarch': 'march=core-avx2'}
|
||||
else:
|
||||
toolchainopts = {'usempi': True, 'openmp': True, 'pic': True}
|
||||
|
||||
_external_dir = '%%(builddir)s/dftbplus-%%(version)s/external/%s/origin/'
|
||||
_external_extract = 'mkdir -p %s && tar -C %s' % (_external_dir, _external_dir)
|
||||
_external_extract += ' --strip-components=1 -xzf %%s'
|
||||
|
||||
source_urls = ['https://github.com/dftbplus/dftbplus/releases/download/%(version)s']
|
||||
sources = [
|
||||
'dftbplus-%(version)s.tar.xz',
|
||||
{
|
||||
# Slater-Koster (slakos) data for testing
|
||||
'source_urls': ['https://github.com/dftbplus/testparams/archive'],
|
||||
'download_filename': 'fbe3d62127d86bd8e49ad25a1e5793e6a095e8e7.tar.gz',
|
||||
'filename': 'slakos-data-%(version)s.tar.gz',
|
||||
'extract_cmd': _external_extract % ('slakos', 'slakos'),
|
||||
},
|
||||
{
|
||||
# GBSA (gbsa) data for testing
|
||||
'source_urls': ['https://github.com/grimme-lab/gbsa-parameters/archive'],
|
||||
'download_filename': '6836c4d997e4135e418cfbe273c96b1a3adb13e2.tar.gz',
|
||||
'filename': 'gbsa-data-%(version)s.tar.gz',
|
||||
'extract_cmd': _external_extract % ('gbsa', 'gbsa'),
|
||||
},
|
||||
]
|
||||
checksums = [
|
||||
{'dftbplus-24.1.tar.xz': '3bc405d1ab834b6b145ca671fb44565ec50a6f576e9e18e7a1ae2c613a311321'},
|
||||
{'slakos-data-24.1.tar.gz': '78a0494c2ff9216d6a9199ba07d632b18b809e0198f43905c044b5748bde488d'},
|
||||
{'gbsa-data-24.1.tar.gz': 'd464f9f7b1883d1353b433d0c7eae2f5606af092d9b51d38e9ed15e072610a79'},
|
||||
]
|
||||
|
||||
builddependencies = [
|
||||
('CMake', '3.26.3'),
|
||||
('pkgconf', '1.9.5'),
|
||||
('git', '2.41.0', '-nodocs'),
|
||||
]
|
||||
|
||||
dependencies = [
|
||||
('Python', '3.11.3'),
|
||||
('tblite', '0.3.0'),
|
||||
('SciPy-bundle', '2023.07'),
|
||||
('dftd4', '3.7.0'),
|
||||
('ELSI', '2.11.0', '-PEXSI'),
|
||||
('libmbd', '0.12.6'),
|
||||
]
|
||||
|
||||
# Prefer dependencies from EB than bundled sources
|
||||
configopts = '-DHYBRID_CONFIG_METHODS="Find;Submodule;Fetch" '
|
||||
configopts += '-DWITH_MPI=1 -DWITH_OMP=1 -DWITH_SDFTD3=1 -DWITH_ELSI=1 -DWITH_MBD=1 -DWITH_UNIT_TESTS=1 '
|
||||
configopts += '-DBUILD_SHARED_LIBS=1 -DWITH_API=1 -DWITH_PYTHON=0 ' # Python bindings installed as extension
|
||||
configopts += '-DSCALAPACK_LIBRARY="$LIBSCALAPACK" '
|
||||
configopts += ' -DWITH_TBLITE=1 '
|
||||
|
||||
runtest = 'test'
|
||||
|
||||
exts_defaultclass = 'PythonPackage'
|
||||
exts_default_options = {
|
||||
'download_dep_fail': True,
|
||||
'use_pip': True,
|
||||
'runtest': False,
|
||||
}
|
||||
exts_list = [
|
||||
('dptools', version, {
|
||||
'source_tmpl': 'dftbplus-%(version)s.tar.xz',
|
||||
'source_urls': ['https://github.com/dftbplus/dftbplus/releases/download/%(version)s'],
|
||||
'start_dir': 'tools/dptools',
|
||||
'checksums': ['3bc405d1ab834b6b145ca671fb44565ec50a6f576e9e18e7a1ae2c613a311321'],
|
||||
}),
|
||||
]
|
||||
|
||||
sanity_check_paths = {
|
||||
'files': ['bin/' + x for x in ['dftb+', 'dp_bands', 'dp_dos', 'gen2cif', 'gen2xyz', 'makecube',
|
||||
'modes', 'repeatgen', 'straingen', 'waveplot', 'xyz2gen']] +
|
||||
['lib/libdftbplus.%s' % SHLIB_EXT, 'lib/libmpifx.%s' % SHLIB_EXT],
|
||||
'dirs': ['include/dftbplus', 'lib/cmake', 'lib/pkgconfig', 'lib/python%(pyshortver)s/site-packages']
|
||||
}
|
||||
|
||||
sanity_check_commands = ["python -c 'import dptools'"]
|
||||
|
||||
modextrapaths = {'PYTHONPATH': 'lib/python%(pyshortver)s/site-packages'}
|
||||
|
||||
moduleclass = 'phys'
|
36
h/HDF5/HDF5-1.14.5-gompi-2024a.eb
Normal file
36
h/HDF5/HDF5-1.14.5-gompi-2024a.eb
Normal file
@ -0,0 +1,36 @@
|
||||
# IT4Innovations
|
||||
# PH 2025
|
||||
|
||||
name = 'HDF5'
|
||||
# Note: Odd minor releases are only RCs and should not be used.
|
||||
version = '1.14.5'
|
||||
|
||||
homepage = 'https://portal.hdfgroup.org/display/support'
|
||||
description = """HDF5 is a data model, library, and file format for storing and managing data.
|
||||
It supports an unlimited variety of datatypes, and is designed for flexible
|
||||
and efficient I/O and for high volume and complex data."""
|
||||
|
||||
toolchain = {'name': 'gompi', 'version': '2024a'}
|
||||
import os
|
||||
# core-avx2 is required due to a but in fortran compiler
|
||||
if os.environ.get("CLUSTERNAME") in ["KAROLINA"]:
|
||||
toolchainopts = {'pic': True, 'usempi': True, 'optarch': 'march=core-avx2'}
|
||||
else:
|
||||
toolchainopts = {'pic': True, 'usempi': True}
|
||||
#toolchainopts = {'pic': True, 'usempi': True}
|
||||
|
||||
source_urls = ['https://github.com/HDFGroup/hdf5/archive']
|
||||
sources = ['hdf5_%(version)s.tar.gz']
|
||||
checksums = ['c83996dc79080a34e7b5244a1d5ea076abfd642ec12d7c25388e2fdd81d26350']
|
||||
|
||||
dependencies = [
|
||||
('zlib', '1.3.1'),
|
||||
('Szip', '2.1.1'),
|
||||
]
|
||||
|
||||
postinstallcmds = [
|
||||
'sed -i -r "s, -I[^[:space:]]+H5FDsubfiling , -I%(installdir)s/include ,g" %(installdir)s/bin/h5c++',
|
||||
'sed -i -r "s, -I[^[:space:]]+H5FDsubfiling , -I%(installdir)s/include ,g" %(installdir)s/bin/h5pcc',
|
||||
]
|
||||
|
||||
moduleclass = 'data'
|
28
h/HyperQueue/HyperQueue-0.21.1.eb
Normal file
28
h/HyperQueue/HyperQueue-0.21.1.eb
Normal file
@ -0,0 +1,28 @@
|
||||
# IT4Innovations
|
||||
# PH 2025
|
||||
|
||||
easyblock = 'PackedBinary'
|
||||
|
||||
name = 'HyperQueue'
|
||||
version = '0.21.1'
|
||||
|
||||
homepage = 'https://it4innovations.github.io/hyperqueue/'
|
||||
description = """HyperQueue lets you build a computation plan consisting of a large amount of tasks
|
||||
and then execute it transparently over a system like SLURM/PBS. It dynamically groups jobs into SLURM/PBS jobs
|
||||
and distributes them to fully utilize allocated notes.
|
||||
You thus do not have to manually aggregate your tasks into SLURM/PBS jobs."""
|
||||
|
||||
toolchain = SYSTEM
|
||||
|
||||
source_urls = ['https://github.com/It4innovations/hyperqueue/releases/download/v%(version)s/']
|
||||
sources = ['hq-v%(version)s-linux-x64.tar.gz']
|
||||
checksums = ['79ee3b84914eff338f43ccb32fffad05b041cc2f2237da3588e448a26bc88684']
|
||||
|
||||
sanity_check_paths = {
|
||||
'files': ['hq'],
|
||||
'dirs': [],
|
||||
}
|
||||
|
||||
sanity_check_commands = ['hq --version']
|
||||
|
||||
moduleclass = 'devel'
|
43
j/JasPer/JasPer-4.2.4-GCCcore-13.3.0.eb
Normal file
43
j/JasPer/JasPer-4.2.4-GCCcore-13.3.0.eb
Normal file
@ -0,0 +1,43 @@
|
||||
# IT4Innovations
|
||||
# PH 2025
|
||||
|
||||
easyblock = 'CMakeMake'
|
||||
|
||||
name = 'JasPer'
|
||||
version = '4.2.4'
|
||||
|
||||
homepage = 'https://www.ece.uvic.ca/~frodo/jasper/'
|
||||
|
||||
description = """
|
||||
The JasPer Project is an open-source initiative to provide a free
|
||||
software-based reference implementation of the codec specified in
|
||||
the JPEG-2000 Part-1 standard.
|
||||
"""
|
||||
|
||||
toolchain = {'name': 'GCCcore', 'version': '13.3.0'}
|
||||
import os
|
||||
if os.environ.get("CLUSTERNAME") in ["KAROLINA"]:
|
||||
toolchainopts = {'pic': True, 'optarch': 'march=core-avx2'}
|
||||
else:
|
||||
toolchainopts = {'pic': True}
|
||||
|
||||
github_account = 'jasper-software'
|
||||
source_urls = [GITHUB_SOURCE]
|
||||
sources = ['version-%(version)s.tar.gz']
|
||||
checksums = ['23a3d58cdeacf3abdf9fa1d81dcefee58da6ab330940790c0f27019703bfd2cd']
|
||||
|
||||
builddependencies = [
|
||||
('binutils', '2.42'),
|
||||
('CMake', '3.29.3'),
|
||||
]
|
||||
|
||||
configopts = '-DJAS_ENABLE_DOC=OFF '
|
||||
|
||||
sanity_check_paths = {
|
||||
'files': ['bin/jasper', ('lib/libjasper.%s' % SHLIB_EXT, 'lib64/libjasper.%s' % SHLIB_EXT)],
|
||||
'dirs': ['include'],
|
||||
}
|
||||
|
||||
sanity_check_commands = ['jasper --version']
|
||||
|
||||
moduleclass = 'vis'
|
33
n/netCDF-Fortran/netCDF-Fortran-4.6.1-gompi-2024a.eb
Normal file
33
n/netCDF-Fortran/netCDF-Fortran-4.6.1-gompi-2024a.eb
Normal file
@ -0,0 +1,33 @@
|
||||
name = 'netCDF-Fortran'
|
||||
version = '4.6.1'
|
||||
|
||||
homepage = 'https://www.unidata.ucar.edu/software/netcdf/'
|
||||
description = """NetCDF (network Common Data Form) is a set of software libraries
|
||||
and machine-independent data formats that support the creation, access, and sharing of array-oriented
|
||||
scientific data."""
|
||||
|
||||
toolchain = {'name': 'gompi', 'version': '2024a'}
|
||||
import os
|
||||
if os.environ.get("CLUSTERNAME") in ["KAROLINA"]:
|
||||
toolchainopts = {'pic': True, 'usempi': True, 'opt': True, 'optarch': 'march=core-avx2'}
|
||||
else:
|
||||
toolchainopts = {'pic': True, 'usempi': True, 'opt': True}
|
||||
#toolchainopts = {'pic': True, 'usempi': True}
|
||||
|
||||
source_urls = ['https://github.com/Unidata/%(namelower)s/archive/']
|
||||
sources = ['v%(version)s.tar.gz']
|
||||
checksums = ['40b534e0c81b853081c67ccde095367bd8a5eead2ee883431331674e7aa9509f']
|
||||
|
||||
builddependencies = [
|
||||
('M4', '1.4.19'),
|
||||
]
|
||||
dependencies = [
|
||||
('netCDF', '4.9.2'),
|
||||
('bzip2', '1.0.8'),
|
||||
]
|
||||
|
||||
# (too) parallel build fails, but single-core build is fairly quick anyway (~1min)
|
||||
parallel = 1
|
||||
|
||||
|
||||
moduleclass = 'data'
|
62
n/netCDF/netCDF-4.9.2-gompi-2024a.eb
Normal file
62
n/netCDF/netCDF-4.9.2-gompi-2024a.eb
Normal file
@ -0,0 +1,62 @@
|
||||
# IT4Innovations
|
||||
# PH 2025
|
||||
|
||||
name = 'netCDF'
|
||||
version = '4.9.2'
|
||||
|
||||
homepage = 'https://www.unidata.ucar.edu/software/netcdf/'
|
||||
description = """NetCDF (network Common Data Form) is a set of software libraries
|
||||
and machine-independent data formats that support the creation, access, and sharing of array-oriented
|
||||
scientific data."""
|
||||
|
||||
toolchain = {'name': 'gompi', 'version': '2024a'}
|
||||
import os
|
||||
if os.environ.get("CLUSTERNAME") in ["KAROLINA"]:
|
||||
toolchainopts = {'pic': True, 'usempi': True, 'opt': True, 'optarch': 'march=core-avx2'}
|
||||
else:
|
||||
toolchainopts = {'pic': True, 'usempi': True, 'opt': True}
|
||||
#toolchainopts = {'pic': True, 'usempi': True}
|
||||
|
||||
source_urls = ['https://github.com/Unidata/%(namelower)s-c/archive/']
|
||||
sources = ['v%(version)s.tar.gz']
|
||||
patches = ['%(name)s-%(version_major_minor)s.0_skip-nasa-test.patch']
|
||||
checksums = [
|
||||
{'v4.9.2.tar.gz': 'bc104d101278c68b303359b3dc4192f81592ae8640f1aee486921138f7f88cb7'},
|
||||
{'%(name)s-%(version_major_minor)s.0_skip-nasa-test.patch':
|
||||
'19d99e03c048b037dc01f03f5b8ddc910ebaceb076d0f050540d348f26dfcd2a'},
|
||||
]
|
||||
|
||||
builddependencies = [
|
||||
('Autotools', '20231222'),
|
||||
('CMake', '3.29.3'),
|
||||
('Doxygen', '1.11.0'),
|
||||
]
|
||||
dependencies = [
|
||||
('HDF5', '1.14.5'),
|
||||
('cURL', '8.7.1'),
|
||||
('Szip', '2.1.1'),
|
||||
('zstd', '1.5.6'),
|
||||
('bzip2', '1.0.8'),
|
||||
('libxml2', '2.12.7'),
|
||||
]
|
||||
|
||||
# disable Szip, zlib parallel I/O tests, since these can hang on some systems, e.g. generoso
|
||||
# see: https://github.com/easybuilders/easybuild-easyconfigs/pull/16834
|
||||
# and https://github.com/easybuilders/easybuild-easyconfigs/pull/17107#issuecomment-1432947172
|
||||
preconfigopts = ("sed -i -e 's|@MPIEXEC@ -n 4 ./tst_parallel5|echo \"skipped by EasyBuild\"|g'"
|
||||
" -e 's|@MPIEXEC@ -n 4 ./tst_parallel_zlib|echo \"skipped by EasyBuild\"|g'"
|
||||
" -e 's|@MPIEXEC@ -n 4 ./tst_parallel_compress|echo \"skipped by EasyBuild\"|g'"
|
||||
" %(builddir)s/%(namelower)s-c-%(version)s/nc_test4/run_par_test.sh.in &&")
|
||||
|
||||
# make sure both static and shared libs are built
|
||||
# and disable "remote" tests that access a unreliable external test server over internet
|
||||
configopts = [
|
||||
"-DENABLE_DAP_REMOTE_TESTS=OFF -DBUILD_SHARED_LIBS=OFF",
|
||||
"-DENABLE_DAP_REMOTE_TESTS=OFF -DBUILD_SHARED_LIBS=ON",
|
||||
]
|
||||
|
||||
# some tests try to start 16 MPI ranks, so we need to allow oversubscription to avoid failing tests
|
||||
pretestopts = "PRTE_MCA_rmaps_default_mapping_policy=:oversubscribe "
|
||||
runtest = 'test'
|
||||
|
||||
moduleclass = 'data'
|
Loading…
x
Reference in New Issue
Block a user