Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

{data,math,tools}[GCCcore/13.3.0,foss/2024a,gompi/2024a] gperftools v2.16, HDF5 v1.14.5, HPX v1.10.0 #21570

Merged
merged 11 commits into from
Nov 6, 2024
Original file line number Diff line number Diff line change
@@ -0,0 +1,37 @@
easyblock = 'ConfigureMake'

name = 'gperftools'
version = '2.16'

homepage = 'https://github.com/gperftools/gperftools'
description = """
gperftools is a collection of a high-performance multi-threaded malloc()
implementation, plus some pretty nifty performance analysis tools.
Includes TCMalloc, heap-checker, heap-profiler and cpu-profiler.
"""

toolchain = {'name': 'GCCcore', 'version': '13.3.0'}

github_account = '%(name)s'
source_urls = [GITHUB_SOURCE]
sources = [SOURCE_TAR_GZ]
checksums = ['737be182b4e42f5c7f595da2a7aa59ce0489a73d336d0d16847f2aa52d5221b4']

builddependencies = [
('Autotools', '20231222'),
('binutils', '2.42'),
]
dependencies = [
('libunwind', '1.8.1'),
]

preconfigopts = "autoreconf -f -i && "
configopts = '--enable-libunwind'

sanity_check_paths = {
'files': ['bin/pprof', 'lib/libprofiler.a', 'lib/libprofiler.%s' % SHLIB_EXT,
'lib/libtcmalloc.a', 'lib/libtcmalloc.%s' % SHLIB_EXT],
'dirs': ['include'],
}

moduleclass = 'tools'
27 changes: 27 additions & 0 deletions easybuild/easyconfigs/h/HDF5/HDF5-1.14.5-gompi-2024a.eb
Original file line number Diff line number Diff line change
@@ -0,0 +1,27 @@
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'}
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'
78 changes: 78 additions & 0 deletions easybuild/easyconfigs/h/HPX/HPX-1.10.0-foss-2024a.eb
Original file line number Diff line number Diff line change
@@ -0,0 +1,78 @@
# #
# Author: Benjamin Czaja ([email protected])
# Institute: SURF(sara)
#
# #
easyblock = 'CMakeNinja'

name = 'HPX'
version = '1.10.0'

homepage = 'http://stellar-group.org/libraries/hpx/'
description = """HPX (High Performance ParalleX) is a general purpose C++ runtime system
for parallel and distributed applications of any scale."""

toolchain = {'name': 'foss', 'version': '2024a'}
toolchainopts = {'pic': True}

source_urls = ['https://github.com/STEllAR-GROUP/%(namelower)s/archive']
sources = ['v%(version)s.tar.gz']
checksums = ['5720ed7d2460fa0b57bd8cb74fa4f70593fe8675463897678160340526ec3c19']

builddependencies = [
('CMake', '3.29.3'),
('Ninja', '1.12.1'),
('pkgconf', '2.2.0'),
]
dependencies = [
('HDF5', '1.14.5'),
('Boost', '1.85.0'),
('hwloc', '2.10.0'),
('gperftools', '2.16'),
]

configopts = '-DCMAKE_CXX_COMPILER=g++ '
configopts += '-DHPX_WITH_MALLOC=tcmalloc '
configopts += '-DHPX_WITH_HWLOC=TRUE '
configopts += '-DHPX_WITH_GOOGLE_PERFTOOLS=TRUE '
configopts += '-DHPX_WITH_NETWORKING=TRUE '
configopts += '-DHPX_WITH_PARCELPORT_TCP=FALSE '
configopts += '-DHPX_WITH_PARCELPORT_MPI=TRUE '
configopts += '-DHPX_WITH_TESTS=FALSE '
configopts += '-DHPX_WITH_EXAMPLES=TRUE '
# configopts += '-DHPX_WITH_MAX_CPU_COUNT=128' #this should be handled by a hook for the system
# configopts += '-DHPX_WITH_MAX_CPU_COUNT=' + os.cpu_count()
configopts += '-DHPX_WITH_FETCH_ASIO=TRUE '

bin_lib_subdirs = ['lib/%(namelower)s/']
maxim-masterov marked this conversation as resolved.
Show resolved Hide resolved

local_lib_names = [
'libhpx_accumulator.%s' % SHLIB_EXT,
'libhpx_cancelable_action.%s' % SHLIB_EXT,
'libhpx_component_storage.%s' % SHLIB_EXT,
'libhpx_core.%s' % SHLIB_EXT,
'libhpx_iostreams.%s' % SHLIB_EXT,
'libhpx_jacobi.%s' % SHLIB_EXT,
'libhpx_nqueen.%s' % SHLIB_EXT,
'libhpx_partitioned_vector.%s' % SHLIB_EXT,
'libhpx_process.%s' % SHLIB_EXT,
'libhpx_random_mem_access.%s' % SHLIB_EXT,
'libhpx_simple_central_tuplespace.%s' % SHLIB_EXT,
'libhpx.%s' % SHLIB_EXT,
'libhpx_startup_shutdown.%s' % SHLIB_EXT,
'libhpx_template_accumulator.%s' % SHLIB_EXT,
'libhpx_template_function_accumulator.%s' % SHLIB_EXT,
'libhpx_throttle.%s' % SHLIB_EXT,
'libhpx_unordered.%s' % SHLIB_EXT,
]

sanity_check_paths = {
'files': ['lib/%s' % lib for lib in local_lib_names] +
['include/asio.hpp', 'include/hpx/hpx.hpp'] +
['bin/hpxcxx', 'bin/hpxrun.py'],
'dirs': ['bin', 'lib'] + bin_lib_subdirs,
}

modextrapaths = {'LD_LIBRARY_PATH': bin_lib_subdirs}

moduleclass = 'math'
Loading