diff --git a/easybuild/easyconfigs/g/gperftools/gperftools-2.16-GCCcore-13.3.0.eb b/easybuild/easyconfigs/g/gperftools/gperftools-2.16-GCCcore-13.3.0.eb new file mode 100644 index 000000000000..1a31ffabd1b6 --- /dev/null +++ b/easybuild/easyconfigs/g/gperftools/gperftools-2.16-GCCcore-13.3.0.eb @@ -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' diff --git a/easybuild/easyconfigs/h/HDF5/HDF5-1.14.5-gompi-2024a.eb b/easybuild/easyconfigs/h/HDF5/HDF5-1.14.5-gompi-2024a.eb new file mode 100644 index 000000000000..591719629241 --- /dev/null +++ b/easybuild/easyconfigs/h/HDF5/HDF5-1.14.5-gompi-2024a.eb @@ -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' diff --git a/easybuild/easyconfigs/h/HPX/HPX-1.10.0-foss-2024a.eb b/easybuild/easyconfigs/h/HPX/HPX-1.10.0-foss-2024a.eb new file mode 100644 index 000000000000..110ca403b7cd --- /dev/null +++ b/easybuild/easyconfigs/h/HPX/HPX-1.10.0-foss-2024a.eb @@ -0,0 +1,78 @@ +# # +# Author: Benjamin Czaja (benjamin.czaja@surf.nl) +# 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'