Skip to content
Merged
Show file tree
Hide file tree
Changes from 2 commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
38 changes: 38 additions & 0 deletions easybuild/easyconfigs/l/libevent/libevent-2.1.12-GCCcore-11.3.0.eb
Original file line number Diff line number Diff line change
@@ -0,0 +1,38 @@
easyblock = 'ConfigureMake'

name = 'libevent'
version = '2.1.12'

homepage = 'https://libevent.org/'

description = """
The libevent API provides a mechanism to execute a callback function when
a specific event occurs on a file descriptor or after a timeout has been
reached. Furthermore, libevent also support callbacks due to signals or
regular timeouts.
"""

toolchain = {'name': 'GCCcore', 'version': '11.3.0'}
toolchainopts = {'pic': True}

source_urls = ['https://github.com/%(name)s/%(name)s/releases/download/release-%(version)s-stable/']
sources = ['%(name)s-%(version)s-stable.tar.gz']
checksums = ['92e6de1be9ec176428fd2367677e61ceffc2ee1cb119035037a27d346b0403bb']

builddependencies = [
('binutils', '2.38'),
('pkgconf', '1.8.0'),
]

dependencies = [
('zlib', '1.2.12'),
('OpenSSL', '1.1', '', True),
]

sanity_check_paths = {
'files': ['bin/event_rpcgen.py', 'include/event.h', 'include/event2/event.h',
'lib/libevent_core.%s' % SHLIB_EXT, 'lib/pkgconfig/libevent.pc'],
'dirs': [],
}

moduleclass = 'lib'
Original file line number Diff line number Diff line change
@@ -0,0 +1,60 @@
easyblock = 'ConfigureMake'

name = 'libfabric'
version = '1.15.1'

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.
"""

# The psm3 provider (enabled by default) requires an AVX capable system to run
toolchain = {'name': 'GCCcore', 'version': '11.3.0'}
toolchainopts = {'pic': True}

source_urls = ['https://github.com/ofiwg/libfabric/releases/download/v%(version)s']
sources = [SOURCE_TAR_BZ2]
patches = ['%(name)s-1.12.1_disable-psm3-avx-config.patch']
checksums = [
'cafa3005a9dc86064de179b0af4798ad30b46b2f862fe0268db03d13943e10cd', # libfabric-1.15.1.tar.bz2
# libfabric-1.12.1_disable-psm3-avx-config.patch
'129be05a824b41eeb7bddac3c23aa421a13f7dde622948df942a265ccc96125a',
]

builddependencies = [
('binutils', '2.38'),
('pkgconf', '1.8.0'),
('Autotools', '20220317'),
]

dependencies = [
('numactl', '2.0.14'),
]

osdependencies = [OS_PKG_IBVERBS_DEV]

# Regenerate build files to pick up psm3-axv-config patch
preconfigopts = "autoreconf -if &&"

# 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 "

buildopts = "V=1"

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'
32 changes: 32 additions & 0 deletions easybuild/easyconfigs/o/OpenMPI/OpenMPI-4.1.4rc1-GCC-11.3.0.eb
Original file line number Diff line number Diff line change
@@ -0,0 +1,32 @@
name = 'OpenMPI'
version = '4.1.4rc1'

homepage = 'https://www.open-mpi.org/'
description = """The Open MPI Project is an open source MPI-3 implementation."""

toolchain = {'name': 'GCC', 'version': '11.3.0'}

source_urls = ['https://www.open-mpi.org/software/ompi/v%(version_major_minor)s/downloads']
sources = [SOURCELOWER_TAR_BZ2]
checksums = ['46169edd9cf8366608684e5c6a342650b2393d46c9f9a380add8e09f1f8001de']

builddependencies = [
('pkgconf', '1.8.0'),
]

dependencies = [
('zlib', '1.2.12'),
('hwloc', '2.7.1'),
('libevent', '2.1.12'),
('UCX', '1.12.1'),
('libfabric', '1.15.1'),
('PMIx', '4.1.2'),
]

# disable MPI1 compatibility for now, see what breaks...
# configopts = '--enable-mpi1-compatibility '

# to enable SLURM integration (site-specific)
# configopts += '--with-slurm --with-pmi=/usr/include/slurm --with-pmi-libdir=/usr'

moduleclass = 'mpi'
48 changes: 48 additions & 0 deletions easybuild/easyconfigs/p/PMIx/PMIx-4.1.2-GCCcore-11.3.0.eb
Original file line number Diff line number Diff line change
@@ -0,0 +1,48 @@
easyblock = 'ConfigureMake'

name = 'PMIx'
version = '4.1.2'

homepage = 'https://pmix.org/'
description = """Process Management for Exascale Environments
PMI Exascale (PMIx) represents an attempt to
provide an extended version of the PMI standard specifically designed
to support clusters up to and including exascale sizes. The overall
objective of the project is not to branch the existing pseudo-standard
definitions - in fact, PMIx fully supports both of the existing PMI-1
and PMI-2 APIs - but rather to (a) augment and extend those APIs to
eliminate some current restrictions that impact scalability, and (b)
provide a reference implementation of the PMI-server that demonstrates
the desired level of scalability.
"""

toolchain = {'name': 'GCCcore', 'version': '11.3.0'}
toolchainopts = {'pic': True}

source_urls = ['https://github.com/openpmix/openpmix/releases/download/v%(version)s']
sources = ['%(namelower)s-%(version)s.tar.bz2']
checksums = ['670d3a02b39fb2126fe8084174cf03c484e027b5921b5c98a851108134e2597a']

builddependencies = [('binutils', '2.38')]

dependencies = [
('libevent', '2.1.12'),
('zlib', '1.2.12'),
('hwloc', '2.7.1'),
('libfabric', '1.15.1'),
]

configopts = ' --with-libevent=$EBROOTLIBEVENT --with-zlib=$EBROOTZLIB'
configopts += ' --with-hwloc=$EBROOTHWLOC'
configopts += ' --with-ofi=$EBROOTLIBFBARIC'
configopts += ' --enable-pmix-binaries'
configopts += ' --disable-man-pages'

buildopts = 'V=1'

sanity_check_paths = {
'files': ['bin/pevent', 'bin/plookup', 'bin/pmix_info', 'bin/pps'],
'dirs': ['etc', 'include', 'lib', 'share']
}

moduleclass = 'lib'