- Core
- hmem/cuda: Adding more robust libgdrapi libpaths
- Update bindings/rust/README.md to reflect the recommended build process.
- Update build.rs to support both cargo build & cargo publish work directories.
- Update Cargo.toml in preparation for crates.io publishing.
- configure: Fix sanitizer detection logic
- Introduce a lightweight Rust bindings for Libfabric, using bindgen.
- include/ofi_indexer: introduce new ofi_array_at_max function
- man/fi_cxi: fixup info for FI_CXI_RDZV_GET_MIN
- man/fi_getinfo: Update the capabilities with mode bits requirements
- man/fi_cq: Document `FI_GETWAITOBJ` for `fi_control`
- man/fi_fabric: Update `fi_tostr()` datatypes
- CXI
- Bump provider support up to libfabric 2.4
- Add domain rx match mode override
- Set rendezvous eager size default to 2K
- Change cuda dmabuf default to enabled
- Do not abort if MR match count do not reconcile
- Allow CP for triggered CQ to remap to Best Effort
- Fix sl-driver path for testing
- Set max domain TX CQs to 14
- Use cxil_alloc_trig_cp to distinguish trig and tx cmdqs
- Add FI_EBUSY debug messages
- Fix validation of service id
- Fix criterion test_sw tap files
- Cxip_cmdq_cp_modify fix
- Fix RNR protocol send byte/error counting
- Release TX credit when pending RNR retry
- Update rocr test fine grained flags
- Fix DEVICE in fi_info_test
- Introduce non-debug tracing
- Reset timer on rx of ARM packet
- Fix performance issue with close_mc()
- Increase vni range in auth_key tests
- Support auth_key ranges
- Fix use of hw_cps and memory leak
- EFA
- Fix cq data size in efa-rdm pkt post
- fix test_efa_rdm_mr_reg_cuda_memory unit test
- adjust the memory barrier positions
- Optimize RTW packet sending by replacing efa_rdm_ope_post_send
- Adjust logging level for txe releases
- Add tracepoints for handshake
- Add flags to MR logs
- Grow efa_tx_pkt_pool and ope_pool during rdm ep creation
- Do not use rdma write when unsolicited recv support is inconsistent
- Determine whether using device rdma based on p2p
- Introduce pke generation counter for protocol path
- Enable data path direct for efa-rdm
- Update the function signature for efa_data_path_direct_cq_initialize
- Move efa_cq_open_ibv_cq to efa_cq.c
- Do not track rx pkt pool for non-debug build
- Temporarily disable FI_OPT_EFA_SENDRECV_IN_ORDER_ALIGNED_128_BYTES support for efa protocol
- do not ignore local read completion
- Add missing lttng tps in efa_post_send
- Fix the remote cq data flags for zcpy recv
- Optimize the WQE post in data path direct
- fix typos in error messages
- Only show help message for OPE warn logs
- configure: replace no-brake space with regular space character
- Remove unused function declarations
- Acquire CQ's `ep_list_lock` during counter progress
- Add asserts to detect erroneous CQE dereferences
- Ignore rma completion to a removed peer
- Remove the incorrect check for device max_msg_size
- Fix function signature mismatch
- Set FI_RX_CQ_DATA for efa direct with NULL hints
- Do not fail fi_getinfo for the wrong fabric
- Log warnings only for internal OPE failures or if CQ error entry not written
- Add unit tests for LRU AH eviction
- Evict AH with no explicit AV entries when AH limit reached
- Add locking assertions and update unit tests
- Remove efa_conn_release unsafe
- Require FI_RX_CQ_DATA on devices without unsolicited write recv
- Add LLTng tracepoints for direct data path operations
- Don't warn users about non-EFA devices
- Support FI_RX_CQ_DATA for efa-direct
- Fix deadlocks in AV insert/remove/close and CQ read paths
- Don't try to release a lock that is not taken
- set RUNPATH if custom rdma-core provided
- Remove rx_msg_flags from efa_rdm_msg_recv/efa_rdm_msg_recvv
- Update tracepoints in the receive path
- Slide recv-win on RTM/RTA error
- Insert read and write packets to tx debug list
- LNX
- remove force setting DEVICE_ONLY flag
- set core hints proto to UNSPEC
- remove iov count failures
- add wait object implementation
- OPX
- Don't fail configure when OPX unhappy
- Add note to FI_OPX_SDMA_MIN_PAYLOAD_BYTES doc
- Simplify uapi configuration
- Unionize 9B and 16B packet SCB models in endpoint structs.
- Support shared contexts in hfisvc bts
- Fix replays for multi-packet eager
- Don't retry forever in send rendezvous.
- Don't ACK packets that were never received
- Segfault in opx_hfi_rdma_context_open() on 2nd endpoint opened
- Fix seg fault in finalize
- Fix SDMA writev error when RDMA core functions are being used.
- Add back accidentally removed opx_domain_hfisvc_poll()
- Add missing function pointers for HFI service
- Check uapi for hfisvc/HFI1 direct verbs
- Rename hfisvc to opx-hfisvc
- Move submodule to rdma core
- Remove stx/srx support in OPX
- Register MRs with HFI service
- Ensure SDMA packet lengths are 8-byte multiples
- Use HFI service by default if enabled in the driver.
- fixup goto labels that need statements
- Update hfisvc_client to 64-bit atomics
- HFISVC: Fix replay payload
- Disable HFI Service by default.
- Disable use of HFI service when driver does not support it.
- Update hfisvc_client to latest patch
- Only open IPC cache if HMEM initialized and IPC enabled
- Handle extended rx bits in common 9B code
- Add IPC to 16B header path
- Make sriov-alpha limitations CN5000-only
- Remove cmake build for hfisvc_client library
- Handle completion errors from HFI service
- Fix setting of rc in deferred recv rts
- Additional HFI Service support changes
- HFI Service initial support
- Asynchronous HMEM memcopy for IPC
Signed-off-by: Nicolas Morey <nmorey@suse.com>
170 lines
4.5 KiB
RPMSpec
170 lines
4.5 KiB
RPMSpec
#
|
|
# spec file for package libfabric
|
|
#
|
|
# Copyright (c) 2025 SUSE LLC and contributors
|
|
#
|
|
# All modifications and additions to the file contributed by third parties
|
|
# remain the property of their copyright owners, unless otherwise agreed
|
|
# upon. The license for this file, and modifications and additions to the
|
|
# file, is the same license as for the pristine package itself (unless the
|
|
# license for the pristine package is not an Open Source License, in which
|
|
# case the license is the MIT License). An "Open Source License" is a
|
|
# license that conforms to the Open Source Definition (Version 1.9)
|
|
# published by the Open Source Initiative.
|
|
|
|
# Please submit bugfixes or comments via https://bugs.opensuse.org/
|
|
#
|
|
|
|
|
|
#
|
|
%define git_ver .0.5a13558c2
|
|
|
|
%ifarch aarch64 %power64 x86_64 s390x riscv64
|
|
%if 0%{?suse_version} > 1530
|
|
%define with_ucx 1
|
|
%endif
|
|
%endif
|
|
|
|
%ifarch x86_64 aarch64
|
|
%define with_efa 1
|
|
%endif
|
|
|
|
Name: libfabric
|
|
Version: 2.4.0
|
|
Release: 0
|
|
Summary: User-space RDMA Fabric Interfaces
|
|
License: BSD-2-Clause OR GPL-2.0-only
|
|
Group: Development/Libraries/C and C++
|
|
Source: %{name}-%{version}%{git_ver}.tar.bz2
|
|
Source1: baselibs.conf
|
|
Source100: README.md
|
|
Patch0: libfabric-libtool.patch
|
|
URL: http://www.github.com/ofiwg/libfabric
|
|
BuildRequires: autoconf
|
|
BuildRequires: automake
|
|
BuildRequires: libibverbs-devel
|
|
BuildRequires: libnl3-devel
|
|
%ifarch x86_64
|
|
BuildRequires: libnuma-devel
|
|
BuildRequires: libpsm2-devel
|
|
%endif
|
|
BuildRequires: fdupes
|
|
BuildRequires: librdmacm-devel
|
|
BuildRequires: libtool
|
|
%if 0%{?with_ucx}
|
|
BuildRequires: libucm-devel
|
|
BuildRequires: libucp-devel
|
|
# 1.10 Needed for UCS_MEMORY_TYPE_UNKNOWN
|
|
BuildRequires: libucs-devel >= 1.10
|
|
BuildRequires: libuct-devel
|
|
%endif
|
|
BuildRequires: pkg-config
|
|
%define lib_major 1
|
|
|
|
%description
|
|
libfabric provides a user-space API to access high-performance fabric
|
|
services, such as RDMA. This package only contains the fi_info binary.
|
|
|
|
%package -n libfabric%{lib_major}
|
|
Summary: User-space RDMA fabric interfaces
|
|
Group: System/Libraries
|
|
|
|
%description -n libfabric%{lib_major}
|
|
libfabric provides a user-space API to access high-performance fabric
|
|
services, such as RDMA. This package contains the runtime library.
|
|
|
|
%package devel
|
|
Summary: Development files for the libfabric library
|
|
Group: Development/Libraries/C and C++
|
|
Requires: libfabric%{lib_major} = %{version}
|
|
|
|
%description devel
|
|
libfabric provides a user-space API to access high-performance fabric
|
|
services, such as RDMA. This package contains the development files.
|
|
|
|
%prep
|
|
%autosetup -p0 -n %{name}-%{version}%{git_ver}
|
|
|
|
%build
|
|
%set_build_flags
|
|
export CFLAGS="$CFLAGS -Wno-incompatible-pointer-types"
|
|
%if 0%{?gcc_version} >= 8
|
|
export CFLAGS="$CFLAGS --std=gnu17"
|
|
%endif
|
|
|
|
rm -f config/libtool.m4
|
|
autoreconf -fi
|
|
# defaults: with-dlopen and without-valgrind can be over-rode:
|
|
%configure %{?_without_dlopen} %{?_with_valgrind} \
|
|
--enable-sockets --enable-verbs --enable-usnic \
|
|
%if 0%{?with_efa}
|
|
--enable-efa \
|
|
%endif
|
|
%if 0%{?with_ucx}
|
|
--enable-ucx \
|
|
%endif
|
|
%ifarch x86_64
|
|
--enable-psm2 \
|
|
--enable-psm3 \
|
|
%endif
|
|
--disable-static
|
|
%make_build
|
|
|
|
%install
|
|
%make_install
|
|
|
|
# remove unpackaged files from the buildroot
|
|
rm -f %{buildroot}%{_libdir}/*.la
|
|
%fdupes %{buildroot}/%{_prefix}
|
|
|
|
%post -n libfabric%{lib_major} -p /sbin/ldconfig
|
|
%postun -n libfabric%{lib_major} -p /sbin/ldconfig
|
|
|
|
%files
|
|
%defattr(-,root,root,-)
|
|
%{_bindir}/*
|
|
%{_mandir}/man1/*
|
|
%doc NEWS.md
|
|
%license COPYING
|
|
|
|
%files -n libfabric%{lib_major}
|
|
%defattr(-,root,root,-)
|
|
%{_libdir}/%{name}.so.%{lib_major}*
|
|
%doc AUTHORS README
|
|
%license COPYING
|
|
|
|
%files devel
|
|
%defattr(-,root,root)
|
|
%{_libdir}/%{name}.so
|
|
%dir %{_includedir}/rdma
|
|
%{_includedir}/rdma/fabric.h
|
|
%{_includedir}/rdma/fi_atomic.h
|
|
%{_includedir}/rdma/fi_cm.h
|
|
%{_includedir}/rdma/fi_collective.h
|
|
%{_includedir}/rdma/fi_domain.h
|
|
%{_includedir}/rdma/fi_endpoint.h
|
|
%{_includedir}/rdma/fi_eq.h
|
|
%{_includedir}/rdma/fi_errno.h
|
|
%{_includedir}/rdma/fi_ext.h
|
|
%{_includedir}/rdma/fi_profile.h
|
|
%{_includedir}/rdma/fi_rma.h
|
|
%{_includedir}/rdma/fi_tagged.h
|
|
%{_includedir}/rdma/fi_trigger.h
|
|
%dir %{_includedir}/rdma/providers
|
|
%{_includedir}/rdma/providers/fi_log.h
|
|
%{_includedir}/rdma/providers/fi_peer.h
|
|
%{_includedir}/rdma/providers/fi_prov.h
|
|
%{_includedir}/rdma/fi_ext_usnic.h
|
|
%ifarch x86_64
|
|
%{_includedir}/rdma/fi_ext_psm2.h
|
|
%endif
|
|
%if 0%{?with_efa}
|
|
%{_includedir}/rdma/fi_ext_efa.h
|
|
%endif
|
|
%{_mandir}/man3/*
|
|
%{_mandir}/man7/*
|
|
|
|
%{_libdir}/pkgconfig/%{name}.pc
|
|
|
|
%changelog
|