Skip to content
Merged
Show file tree
Hide file tree
Changes from all 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
Original file line number Diff line number Diff line change
@@ -0,0 +1,59 @@
easyblock = 'ConfigureMake'

name = 'libfabric'
version = '1.21.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.
"""

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

source_urls = ['https://github.com/ofiwg/libfabric/releases/download/v%(version)s']
sources = [SOURCE_TAR_BZ2]
checksums = [
{'libfabric-1.21.0.tar.bz2': '0c1b7b830d9147f661e5d7f359250b85b5a9885c330464cd3b5e5d35b86551c7'},
]

builddependencies = [
('binutils', '2.42'),
('pkgconf', '2.2.0'),
('Autotools', '20231222'),
]

dependencies = [
('numactl', '2.0.18'),
# PSM2 only compiles on x86_64
('PSM2', {'arch=x86_64': '12.0.1', 'arch=*': False}),
]

osdependencies = [OS_PKG_IBVERBS_DEV]

# Regenerate build files to pick up psm3-axv-config patch
preconfigopts = "./autogen.sh &&"

# 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'
34 changes: 34 additions & 0 deletions easybuild/easyconfigs/n/numactl/numactl-2.0.18-GCCcore-13.3.0.eb
Original file line number Diff line number Diff line change
@@ -0,0 +1,34 @@
easyblock = 'ConfigureMake'

name = 'numactl'
version = '2.0.18'

homepage = 'https://github.com/numactl/numactl'

description = """
The numactl program allows you to run your application program on specific
cpu's and memory nodes. It does this by supplying a NUMA memory policy to
the operating system before running your program. The libnuma library provides
convenient ways for you to add NUMA memory policies into your own program.
"""

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

source_urls = ['https://github.com/numactl/numactl/archive/']
sources = ['v%(version)s.tar.gz']
checksums = ['8cd6c13f3096e9c2293c1d732f56e2aa37a7ada1a98deed3fac7bd6da1aaaaf6']

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

preconfigopts = "./autogen.sh && "

sanity_check_paths = {
'files': ['bin/numactl', 'bin/numastat', 'lib/libnuma.%s' % SHLIB_EXT, 'lib/libnuma.a'],
'dirs': ['share/man', 'include']
}

moduleclass = 'tools'
44 changes: 44 additions & 0 deletions easybuild/easyconfigs/p/PSM2/PSM2-12.0.1-GCCcore-13.3.0.eb
Original file line number Diff line number Diff line change
@@ -0,0 +1,44 @@
easyblock = 'ConfigureMake'

name = 'PSM2'
version = '12.0.1'

homepage = 'https://github.com/cornelisnetworks/opa-psm2/'
description = """
Low-level user-space communications interface for the Intel(R) OPA family of products.
"""

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

source_urls = ['https://github.com/cornelisnetworks/opa-psm2/archive/refs/tags']
sources = ['%(name)s_%(version)s.tar.gz']
patches = [
('PSM2-11.2.80_hfi-user.patch', 1),
]
checksums = [
{'PSM2_12.0.1.tar.gz': 'e41af2d7d36a6ab67639ecbd5c1012aa20b2b464bf5cfbdac60e7eb37bfe58de'},
{'PSM2-11.2.80_hfi-user.patch': 'e43138859387213506050af9b76e193c3cd0a162d148998c39e551f220392abb'},
]

builddependencies = [
('binutils', '2.42'),
('CUDA', '12.4.0', '', SYSTEM),
]

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

skipsteps = ['configure']

prebuildopts = "sed -i 's|fprintf(stderr,|_HFI_DBG(|' psm_context.c && sed -i 's|/usr|/|' Makefile && "
buildopts = "arch=%s USE_PSM_UUID=1 PSM_CUDA=1 WERROR=" % ARCH
installopts = "arch=%s UDEVDIR=/lib/udev DESTDIR=%%(installdir)s" % ARCH

sanity_check_paths = {
'files': ['lib/lib%%(namelower)s.%s' % SHLIB_EXT, 'include/%(namelower)s.h'],
'dirs': []
}

moduleclass = 'lib'