mirror of
https://code.it4i.cz/sccs/easyconfigs-it4i.git
synced 2025-04-04 06:11:36 +01:00
new file: a/ADIOS2/ADIOS2-2.7.0-gompi-2020e.eb
new file: c/c-blosc/c-blosc-1.21.0-GCC-10.3.0.eb new file: g/gompi/gompi-2020e.eb new file: h/HDF5/HDF5-1.12.0-gompi-2020e.eb new file: l/libfabric/libfabric-1.11.0-GCCcore-10.3.0.eb new file: o/OpenMPI/OpenMPI-4.1.4-GCC-10.3.0-CUDA-11.3.1.eb new file: o/openPMD-api/openPMD-api-0.14.4-gompi-2020e.eb new file: p/PNGwriter/PNGwriter-0.7.0-GCC-10.3.0.eb
This commit is contained in:
parent
e2c1c4720a
commit
59cb428266
40
a/ADIOS2/ADIOS2-2.7.0-gompi-2020e.eb
Normal file
40
a/ADIOS2/ADIOS2-2.7.0-gompi-2020e.eb
Normal file
@ -0,0 +1,40 @@
|
||||
# IT4Innovations
|
||||
# BS 2023
|
||||
|
||||
easyblock = "CMakeMake"
|
||||
|
||||
name = "ADIOS2"
|
||||
version = "2.7.0"
|
||||
|
||||
homepage = 'https://github.com/ornladios/ADIOS2/'
|
||||
description = """This is ADIOS2: The Adaptable Input/Output (I/O) System.
|
||||
ADIOS2 is developed as part of the United States Department of Energy's Exascale Computing
|
||||
Project. It is a framework for scientific data I/O to publish and subscribe to data when
|
||||
and where required.
|
||||
ADIOS2 transports data as groups of self-describing variables and attributes across different
|
||||
media types (such as files, wide-area-networks, and remote direct memory access) using a
|
||||
common application programming interface for all transport modes. ADIOS2 can be used on
|
||||
supercomputers, cloud systems, and personal computers. """
|
||||
|
||||
toolchain = {'name': 'gompi', 'version': '2020e'}
|
||||
|
||||
source_urls = ['https://github.com/ornladios/ADIOS2/archive/refs/tags/']
|
||||
sources = ['v%(version)s.tar.gz']
|
||||
checksums = ['4b5df1a1f92d7ff380416dec7511cfcfe3dc44da27e486ed63c3e6cffb173924']
|
||||
|
||||
builddependencies = [('CMake', '3.20.1')]
|
||||
|
||||
dependencies = [
|
||||
('HDF5', '1.12.0'),
|
||||
('c-blosc', '1.21.0'),
|
||||
('libfabric', '1.12.1'),
|
||||
]
|
||||
|
||||
separate_build_dir = True
|
||||
|
||||
sanity_check_paths = {
|
||||
'files': ['bin/adios2-config', 'include/adios2.h', 'include/adios2_c.h'],
|
||||
'dirs': ['bin', 'include', 'lib64']
|
||||
}
|
||||
|
||||
moduleclass = 'tools'
|
33
c/c-blosc/c-blosc-1.21.0-GCC-10.3.0.eb
Normal file
33
c/c-blosc/c-blosc-1.21.0-GCC-10.3.0.eb
Normal file
@ -0,0 +1,33 @@
|
||||
# IT4Innovations
|
||||
# BS 2023
|
||||
|
||||
easyblock = "CMakeMake"
|
||||
|
||||
name = "c-blosc"
|
||||
version = "1.21.0"
|
||||
|
||||
homepage = 'https://github.com/Blosc/c-blosc'
|
||||
description = """Blosc is a high performance compressor optimized for binary
|
||||
data. It has been designed to transmit data to the processor cache faster than
|
||||
the traditional, non-compressed, direct memory fetch approach via a memcpy() OS
|
||||
call. Blosc is the first compressor (that I'm aware of) that is meant not
|
||||
only to reduce the size of large datasets on-disk or in-memory, but also to
|
||||
accelerate memory-bound computations.
|
||||
"""
|
||||
|
||||
toolchain = {'name': 'GCC', 'version': '10.3.0'}
|
||||
|
||||
source_urls = ['https://github.com/Blosc/c-blosc/archive/refs/tags/']
|
||||
sources = ['v%(version)s.tar.gz']
|
||||
checksums = ['b0ef4fda82a1d9cbd11e0f4b9685abf14372db51703c595ecd4d76001a8b342d']
|
||||
|
||||
builddependencies = [('CMake', '3.20.1')]
|
||||
|
||||
separate_build_dir = True
|
||||
|
||||
sanity_check_paths = {
|
||||
'files': ['include/blosc.h', 'include/blosc-export.h', 'lib/libblosc.a'],
|
||||
'dirs': ['include', 'lib']
|
||||
}
|
||||
|
||||
moduleclass = 'tools'
|
23
g/gompi/gompi-2020e.eb
Normal file
23
g/gompi/gompi-2020e.eb
Normal file
@ -0,0 +1,23 @@
|
||||
# IT4Innovations
|
||||
# LK 2023
|
||||
|
||||
easyblock = "Toolchain"
|
||||
|
||||
name = 'gompi'
|
||||
version = '2020e'
|
||||
|
||||
homepage = '(none)'
|
||||
description = """GNU Compiler Collection (GCC) based local_compiler toolchain,
|
||||
including OpenMPI for MPI support."""
|
||||
|
||||
toolchain = SYSTEM
|
||||
|
||||
local_gccver = '10.3.0'
|
||||
|
||||
# local_compiler toolchain dependencies
|
||||
dependencies = [
|
||||
('GCC', local_gccver), # includes both GCC and local_binutils
|
||||
('OpenMPI', '4.1.4', '-CUDA-11.3.1', ('GCC', local_gccver)),
|
||||
]
|
||||
|
||||
moduleclass = 'toolchain'
|
28
h/HDF5/HDF5-1.12.0-gompi-2020e.eb
Normal file
28
h/HDF5/HDF5-1.12.0-gompi-2020e.eb
Normal file
@ -0,0 +1,28 @@
|
||||
# IT4Innoivations
|
||||
# BS 2023
|
||||
|
||||
name = 'HDF5'
|
||||
version = '1.12.0'
|
||||
|
||||
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': '2020e'}
|
||||
import os
|
||||
if os.environ.get("CLUSTERNAME") in ["KAROLINA"]:
|
||||
toolchainopts = {'optarch': 'march=core-avx2', 'pic': True, 'usempi': True}
|
||||
else:
|
||||
toolchainopts = {'pic': True, 'usempi': True}
|
||||
|
||||
source_urls = ['https://support.hdfgroup.org/ftp/HDF5/releases/hdf5-%(version_major_minor)s/hdf5-%(version)s/src']
|
||||
sources = [SOURCELOWER_TAR_GZ]
|
||||
checksums = ['a62dcb276658cb78e6795dd29bf926ed7a9bc4edf6e77025cd2c689a8f97c17a']
|
||||
|
||||
dependencies = [
|
||||
('zlib', '1.2.11'),
|
||||
('Szip', '2.1.1'),
|
||||
]
|
||||
|
||||
moduleclass = 'data'
|
48
l/libfabric/libfabric-1.11.0-GCCcore-10.3.0.eb
Normal file
48
l/libfabric/libfabric-1.11.0-GCCcore-10.3.0.eb
Normal file
@ -0,0 +1,48 @@
|
||||
# IT4Innovations
|
||||
# LK 2023
|
||||
|
||||
easyblock = 'ConfigureMake'
|
||||
|
||||
name = 'libfabric'
|
||||
version = '1.11.0'
|
||||
|
||||
homepage = 'https://ofiwg.github.io/libfabric/'
|
||||
description = """
|
||||
Libfabric is a core component of OFI. It is the library that defines and exports
|
||||
the user-space API of OFI, and is typically the only software that applications
|
||||
deal with directly. It works in conjunction with provider libraries, which are
|
||||
often integrated directly into libfabric.
|
||||
"""
|
||||
|
||||
toolchain = {'name': 'GCCcore', 'version': '10.3.0'}
|
||||
toolchainopts = {'pic': True}
|
||||
|
||||
github_account = 'ofiwg'
|
||||
source_urls = ['https://github.com/ofiwg/%(name)s/releases/download/v%(version)s']
|
||||
sources = [SOURCE_TAR_BZ2]
|
||||
checksums = ['9938abf628e7ea8dcf60a94a4b62d499fbc0dbc6733478b6db2e6a373c80d58f']
|
||||
|
||||
builddependencies = [
|
||||
('binutils', '2.36.1'),
|
||||
('pkg-config', '0.29.2'),
|
||||
]
|
||||
|
||||
osdependencies = [OS_PKG_IBVERBS_DEV]
|
||||
|
||||
# Disable deprecated "sockets" provider
|
||||
configopts = "--disable-sockets "
|
||||
|
||||
# Disable usNIC provider by default as this requires specific osdependencies
|
||||
# If you want to enable this provider you need to uncomment the following line:
|
||||
# osdependencies.append(('libnl3-devel', 'libnl3-dev'))
|
||||
configopts += "--disable-usnic "
|
||||
|
||||
sanity_check_paths = {
|
||||
'files': ['bin/fi_info', 'bin/fi_pingpong', 'bin/fi_strerror'] +
|
||||
['lib/libfabric.%s' % x for x in ['a', SHLIB_EXT]],
|
||||
'dirs': ['include/rdma', 'lib/pkgconfig', 'share']
|
||||
}
|
||||
|
||||
sanity_check_commands = ['fi_info']
|
||||
|
||||
moduleclass = 'lib'
|
87
o/OpenMPI/OpenMPI-4.1.4-GCC-10.3.0-CUDA-11.3.1.eb
Normal file
87
o/OpenMPI/OpenMPI-4.1.4-GCC-10.3.0-CUDA-11.3.1.eb
Normal file
@ -0,0 +1,87 @@
|
||||
# IT4Innovations
|
||||
# BS 2023
|
||||
|
||||
name = 'OpenMPI'
|
||||
version = '4.1.4'
|
||||
versionsuffix = '-CUDA-11.3.1'
|
||||
|
||||
homepage = 'https://www.open-mpi.org/'
|
||||
description = """The Open MPI Project is an open source MPI-3 implementation."""
|
||||
|
||||
toolchain = {'name': 'GCC', 'version': '10.3.0'}
|
||||
|
||||
source_urls = ['https://www.open-mpi.org/software/ompi/v%(version_major_minor)s/downloads']
|
||||
sources = [SOURCELOWER_TAR_BZ2]
|
||||
checksums = [
|
||||
'92912e175fd1234368c8730c03f4996fe5942e7479bb1d10059405e7f2b3930d', # openmpi-4.1.4.tar.bz2
|
||||
]
|
||||
|
||||
builddependencies = [
|
||||
('pkgconf', '1.8.0'),
|
||||
('Perl', '5.32.1'),
|
||||
('Autotools', '20210128'),
|
||||
]
|
||||
|
||||
dependencies = [
|
||||
('zlib', '1.2.11'),
|
||||
('hwloc', '2.4.1'),
|
||||
('libevent', '2.1.12'),
|
||||
('UCX', '1.10.0'),
|
||||
('UCX-CUDA', '1.10.0', '-CUDA-11.3.1'),
|
||||
('libfabric', '1.12.1'),
|
||||
('PMIx', '3.2.3'),
|
||||
#('UCC', '1.0.0'),
|
||||
('CUDA', '11.3.1', '', True),
|
||||
]
|
||||
|
||||
preconfigopts = './autogen.pl --force && '
|
||||
|
||||
# IT4I-specific settings
|
||||
|
||||
configopts = '--enable-shared --enable-mpi-thread-multiple --with-verbs '
|
||||
configopts += '--enable-mpirun-prefix-by-default '
|
||||
configopts += '--with-hwloc=$EBROOTHWLOC ' # hwloc support
|
||||
configopts += '--with-slurm ' # Enable slurm
|
||||
configopts += '--enable-mpi-cxx ' # Enable building the C++ MPI bindings
|
||||
configopts += '--with-ucx=$EBROOTUCX '
|
||||
configopts += '--with-cuda=$EBROOTCUDA '
|
||||
#configopts += '--with-pmix=/opt/it4i-libs/PMIx/4.2.6 '
|
||||
|
||||
osdependencies = [('libibverbs-dev', 'libibverbs-devel', 'rdma-core-devel')]
|
||||
|
||||
postinstallcmds = [
|
||||
'echo "# By default, for Open MPI 4.0 and later, infiniband ports on a device are not used by default." >> %(installdir)s/etc/openmpi-mca-params.conf',
|
||||
'echo "btl_openib_allow_ib = true" >> %(installdir)s/etc/openmpi-mca-params.conf',
|
||||
]
|
||||
|
||||
local_libs = ["mpi_mpifh", "mpi", "ompitrace", "open-pal", "open-rte"]
|
||||
sanity_check_paths = {
|
||||
'files': [
|
||||
"bin/%s" %
|
||||
binfile for binfile in [
|
||||
"ompi_info", "opal_wrapper", "orterun"]] + [
|
||||
"lib/lib%s.%s" %
|
||||
(libfile, SHLIB_EXT) for libfile in local_libs] + [
|
||||
"include/%s.h" %
|
||||
x for x in [
|
||||
"mpi-ext", "mpif-config", "mpif", "mpi", "mpi_portable_platform"]], 'dirs': [], }
|
||||
|
||||
import os
|
||||
if os.environ.get("CLUSTERNAME") in ["BARBORA"]:
|
||||
modextravars = {'OMPI_MCA_btl_openib_if_include': 'mlx5_0',
|
||||
'OMPI_MCA_btl_tcp_if_include': '10.33.4.0/24',
|
||||
'OMPI_MCA_orte_base_help_aggregate': '0',
|
||||
'SLURM_MPI_TYPE': 'pmix_v4',
|
||||
}
|
||||
elif os.environ.get("CLUSTERNAME") in ["KAROLINA"]:
|
||||
modextravars = {'OMPI_MCA_btl_openib_if_include': 'mlx5_0',
|
||||
'OMPI_MCA_orte_base_help_aggregate': '0',
|
||||
'SLURM_MPI_TYPE': 'pmix_v4',
|
||||
}
|
||||
else:
|
||||
modextravars = {'OMPI_MCA_btl_openib_if_include': 'mlx4_0',
|
||||
'OMPI_MCA_oob_tcp_if_include': '10.0.0.0/8',
|
||||
'SLURM_MPI_TYPE': 'pmix_v4',
|
||||
}
|
||||
|
||||
moduleclass = 'mpi'
|
40
o/openPMD-api/openPMD-api-0.14.4-gompi-2020e.eb
Normal file
40
o/openPMD-api/openPMD-api-0.14.4-gompi-2020e.eb
Normal file
@ -0,0 +1,40 @@
|
||||
# IT4Innovations
|
||||
# BS 2023
|
||||
|
||||
easyblock = "CMakeMake"
|
||||
|
||||
name = "openPMD-api"
|
||||
version = "0.14.4"
|
||||
|
||||
homepage = 'https://github.com/openPMD/openPMD-api'
|
||||
description = """openPMD is an open meta-data schema that provides meaning and self-description
|
||||
for data sets in science and engineering. See the openPMD standard for details of this schema.
|
||||
This library provides a reference API for openPMD data handling. Since openPMD is a schema
|
||||
(or markup) on top of portable, hierarchical file formats, this library implements various
|
||||
backends such as HDF5, ADIOS2 and JSON. Writing & reading through those backends and their
|
||||
associated files are supported for serial and MPI-parallel workflows.
|
||||
"""
|
||||
|
||||
toolchain = {'name': 'gompi', 'version': '2020e'}
|
||||
|
||||
source_urls = ['https://github.com/openPMD/openPMD-api/archive/refs/tags/']
|
||||
sources = ['%(version)s.tar.gz']
|
||||
checksums = ['42b7bcd043e772d63f0fe0e5e70da411f001db10096d5b8be797ffc88e786379']
|
||||
|
||||
builddependencies = [('CMake', '3.20.1')]
|
||||
|
||||
dependencies = [
|
||||
('HDF5', '1.12.0'),
|
||||
('ADIOS2', '2.7.0'),
|
||||
]
|
||||
|
||||
configopts = '-DopenPMD_USE_ADIOS2=ON -DopenPMD_USE_HDF5=ON '
|
||||
|
||||
separate_build_dir = True
|
||||
|
||||
sanity_check_paths = {
|
||||
'files': ['bin/openpmd-ls', 'bin/openpmd-pipe', 'lib/libopenPMD.so'],
|
||||
'dirs': ['bin', 'include', 'lib64']
|
||||
}
|
||||
|
||||
moduleclass = 'tools'
|
40
p/PNGwriter/PNGwriter-0.7.0-GCC-10.3.0.eb
Normal file
40
p/PNGwriter/PNGwriter-0.7.0-GCC-10.3.0.eb
Normal file
@ -0,0 +1,40 @@
|
||||
# IT4Innovations
|
||||
# LK 2023
|
||||
|
||||
easyblock = "CMakeMake"
|
||||
|
||||
name = "PNGwriter"
|
||||
version = "0.7.0"
|
||||
|
||||
homepage = 'https://github.com/pngwriter/pngwriter/'
|
||||
description = """PNGwriter is a very easy to use open source graphics library
|
||||
that uses PNG as its output format. The interface has been designed to be as
|
||||
simple and intuitive as possible. It supports plotting and reading pixels in
|
||||
the RGB (red, green, blue), HSV (hue, saturation, value/brightness) and CMYK
|
||||
(cyan, magenta, yellow, black) colour spaces, basic shapes, scaling, bilinear
|
||||
interpolation, full TrueType antialiased and rotated text support, bezier
|
||||
curves, opening existing PNG images and more. Documentation in English
|
||||
(and Spanish up to v0.5.4). Runs under Linux, Unix, Mac OS X and Windows.
|
||||
Requires libpng and optionally FreeType2 for the text support."""
|
||||
|
||||
toolchain = {'name': 'GCC', 'version': '10.3.0'}
|
||||
|
||||
source_urls = ['https://github.com/pngwriter/pngwriter/archive/refs/tags/']
|
||||
sources = ['%(version)s.tar.gz']
|
||||
checksums = ['82d46eef109f434f95eba9cf5908710ae4e75f575fd3858178ad06e800152825']
|
||||
|
||||
builddependencies = [('CMake', '3.20.1')]
|
||||
|
||||
dependencies = [
|
||||
('freetype', '2.10.4'),
|
||||
('libpng', '1.6.37'),
|
||||
]
|
||||
|
||||
separate_build_dir = True
|
||||
|
||||
sanity_check_paths = {
|
||||
'files': ['include/pngwriter.h', 'lib/libPNGwriter.a'],
|
||||
'dirs': ['include', 'lib']
|
||||
}
|
||||
|
||||
moduleclass = 'lib'
|
Loading…
x
Reference in New Issue
Block a user