Skip to content

Commit

Permalink
Merge pull request #21570 from maxim-masterov/hpx_2024a
Browse files Browse the repository at this point in the history
{data,math,tools}[GCCcore/13.3.0,foss/2024a,gompi/2024a] gperftools v2.16, HDF5 v1.14.5, HPX v1.10.0
  • Loading branch information
SebastianAchilles authored Nov 6, 2024
2 parents 9faa425 + f0f4e24 commit a50fb51
Show file tree
Hide file tree
Showing 3 changed files with 142 additions and 0 deletions.
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/']

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'

0 comments on commit a50fb51

Please sign in to comment.