54 lines
2.4 KiB
Plaintext
54 lines
2.4 KiB
Plaintext
#%Module1.0
|
|
|
|
module-whatis "Open Fabrics Interfaces (OFI)"
|
|
module-url "https://ofiwg.github.io/libfabric/"
|
|
module-license "Open source, see https://github.com/ofiwg/libfabric/blob/main/COPYING"
|
|
module-maintainer "Marc Caubet Serrabou <marc.caubet@psi.ch>"
|
|
|
|
module-help "
|
|
The Open Fabrics Interfaces (OFI) is a framework focused on exporting
|
|
fabric communication services to applications.
|
|
|
|
Libfabric, also known as Open Fabrics Interfaces (OFI), defines a
|
|
communication API for high-performance parallel and distributed
|
|
applications. It is a low-level communication library that abstracts
|
|
diverse networking technologies. Libfabric is developed by the OFI
|
|
Working Group (OFIWG, pronounced “o-fee-wig”), a subgroup of the
|
|
OpenFabrics Alliance - OFA.
|
|
|
|
Participation in the OFIWG is open to anyone, and not restricted to
|
|
members of OFA.
|
|
|
|
The goal of libfabric is to define interfaces that enable a tight
|
|
semantic map between applications and underlying fabric services.
|
|
Specifically, libfabric software interfaces have been co-designed with
|
|
fabric hardware providers and application developers, with a focus on
|
|
the needs of HPC users. Libfabric supports multiple communication
|
|
semantics, is fabric and hardware implementation agnostic, and leverages
|
|
and expands the existing RDMA open source community.
|
|
|
|
Libfabric is designed to minimize the impedance mismatch between
|
|
applications, including middleware such as MPI, SHMEM, data storage, and
|
|
PGAS, and fabric communication hardware. Its interfaces target
|
|
high-bandwidth, low-latency NICs, with a goal to scale to tens of
|
|
thousands of nodes.
|
|
|
|
Libfabric targets support for the Linux, Free BSD, Windows, and OS X.
|
|
A reasonable effort is made to support all major, modern Linux
|
|
distributions; however, validation is limited to the most recent 2-3
|
|
releases of Red Hat Enterprise Linux (RHEL) and SUSE Linux Enterprise
|
|
Server (SLES). Support for a particular operating system version or
|
|
distribution is vendor specific. The exceptions are the tcp and udp
|
|
based socket providers are available on all platforms.
|
|
"
|
|
|
|
unsetenv LIBFABRIC_LIBRARY_DIR /opt/psi/Libraries/libfabric/1.18.0/lib
|
|
|
|
remove-path LIBRARY_PATH $PREFIX/lib
|
|
remove-path LD_LIBRARY_PATH $PREFIX/lib
|
|
setenv LIBFABRIC_LIBRARY_DIR $PREFIX/lib64
|
|
|
|
# prepend-path LIBRARY_PATH $PREFIX/lib64
|
|
# prepend-path LD_LIBRARY_PATH $PREFIX/lib64
|
|
# prepend-path LIBFABRIC_LIBRARY_DIR $PREFIX/lib64
|