SHA256
1
0
forked from pool/libfabric

Accepting request 1007632 from science:HPC

OBS-URL: https://build.opensuse.org/request/show/1007632
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/libfabric?expand=0&rev=34
This commit is contained in:
Richard Brown 2022-10-04 18:36:52 +00:00 committed by Git OBS Bridge
commit 36926c25e7
9 changed files with 225 additions and 92 deletions

View File

@ -8,7 +8,7 @@
<param name="versionformat">@PARENT_TAG@.@TAG_OFFSET@.%h</param> <param name="versionformat">@PARENT_TAG@.@TAG_OFFSET@.%h</param>
<param name="versionrewrite-pattern">v(.*)</param> <param name="versionrewrite-pattern">v(.*)</param>
<param name="versionrewrite-replacement">\1</param> <param name="versionrewrite-replacement">\1</param>
<param name="revision">ba6d85c63f59013e813caecd5c96c0b9e76488f7</param> <param name="revision">fcf62e5b494b78be35ee884c48ad84663abef0f0</param>
</service> </service>
<service name="recompress" mode="disabled"> <service name="recompress" mode="disabled">
<param name="file">libfabric*.tar</param> <param name="file">libfabric*.tar</param>

View File

@ -1,13 +0,0 @@
diff --git a/prov/opx/include/rdma/opx/fi_opx_compiler.h b/prov/opx/include/rdma/opx/fi_opx_compiler.h
index 80493bd..e216faa 100644
--- a/prov/opx/include/rdma/opx/fi_opx_compiler.h
+++ b/prov/opx/include/rdma/opx/fi_opx_compiler.h
@@ -41,7 +41,7 @@
#define L2_CACHE_LINE_SIZE (64)
#ifdef NDEBUG // No Debug, Optimizing
-#define __OPX_FORCE_INLINE_AND_FLATTEN__ static inline __attribute__ ((always_inline, flatten))
+#define __OPX_FORCE_INLINE_AND_FLATTEN__ static inline __attribute__ ((always_inline))
#define __OPX_FORCE_INLINE__ static inline __attribute__ ((always_inline))
#else // NDEBUG
#define __OPX_FORCE_INLINE_AND_FLATTEN__ static inline

View File

@ -1,3 +1,109 @@
-------------------------------------------------------------------
Fri Sep 30 11:44:45 UTC 2022 - Nicolas Morey-Chaisemartin <nmoreychaisemartin@suse.com>
- Update to 1.16.0 (jsc#PED-351, jsc#PED-190)
- Core
- Added HMEM IPC cache
- Use exact string comparison checks for network interfaces
- Restructuring of poll/epoll abstraction
- Add ability to disable locks completely in debug builds
- Serialize access to modifying the logging calls
- Minor fixes to fi_tostr text formatting
- Add hmem interface checks to memory registration
- EFA
- Added support of Synapse AI memory.
- Improved error message
- Net
- Temporarily forked, optimized version of tcp provider
- Focused on improved performance and scalability over tcp sockets
- Fork ensures tcp provider stability while net provider is developed
- Shares the tcp provider protocol and base implementation for msg endpoints
- Integrates direct support for rdm endpoints, using a derivative from rxm
- Implements own protocol for rdm endpoints, separate from rxm;tcp
- OPX
- Added initial support for SDMA
- General performance enhancements
- Performance improvements to reliability protocol
- Improved deferred work pending complete
- Added support for OPX_AV=runtime
- Support iov memory registration ops
- Added DAOS RPC support
- Atomic ops enhancements
- Improved documentation
- Debug build enhancements
- Fixed compiler warnings
- Reduced time to compile prov/opx code
- General bug fixes
- Fixed PSN wrapping scaling
- Added intranode fence
- Addressed bugs discovered by coverity scan
- PSM2
- Fix sending CQ data in some instances of fi_tsendmsg
- PSM3
- Updated to match Intel Ethernet Fabric Suite (IEFS) 11.3 release
- RxM
- Update to read multiple completions at once from msg provider
- Move RxM AV implementation to util code to share with net provider
- Minor code cleanups
- SHM
- Implement and use ipc_cache
- Add log messages for debugging and error tracking
- Fix check for FI_MR_HMEM mr_mode
- Move shm signal handlers initialization to EP
- Added log messages for errors detected
- TCP
- Fix incorrect signaling of the CQ
- Increase max number of poll events to retrieve
- Acquire ep lock prior to flushing socket in shutdown
- Verify ep state prior to progressing socket data
- Read cm error data when receiving connreq response
- Log error on connect failure
- Fix assertion failure in CQ progress function
- Util
- Fix text in log of UFFD ioctl failure
- Introduce cuda ipc monitor
- Fix CQ memory leak handling overflow
- Fix MR mode bit check for ver 1.5 and greater
- Add max_array_size to track/check array overflow
- Always progress transfers when reading from a CQ
- Handle NULL address insertion
- Try IPv4 before IPv6 addresses when starting name server
- Fix IP util av default address length
- Fix util IP getinfo path to read hints->addr_format
- Fix debug print mismatch
- Fix return code when memory allocation fails.
- Fix build sign warning in ofi_bufpool_region_alloc
- Minor code cleanups
- Print warning if an addr is inserted into an AV again
- Verbs
- Fix support of FI_SOCKADDR_IB when requested by the application
- Ensure all posted receives are flushed to the application
- Update ofi_mr_cache_search API for hmem IPC support
- Reduce logging verbosity for "no active ports"
- Fix incorrect length used in memory registration
- Various minor bug fixes for test failures
- Fix a memory leak getting IB address
- Implement verbs provider on Windows over NetworkDirect API
- Set and check address format correctly
- Only close qp if it was initialized
- Portable detection of loopback device
- Fabtests
- multi_ep: Separate EP resources and fix MR registration
- multi_recv: Fix possible crash and check for valid buffer
- unexpected_msg: Fix printf compiler warning
- dgram_pingpong.c: Use out-of-band sync
- multinode: Make multinode tests platform agnostic, fix formatting
- ubertest: Fix string comparison to include length, fix writedata completion check
- av_test: add support for -e <ep_type>
- New tests:
- dmabuf-rdma: Component level test for dma-buf RDMA
- sock_test: Component level performance test of poll, epoll, and select
- rdm_stress: Multi-threaded, multi-process stress test for RDM endpoints
- sighandler_test: Regression test for signal handler restoration
- Drop patches fixed upstream:
- prov-opx-Correctly-disable-OPX-if-unsupported.patch
- disable-flatten-attr.patch
------------------------------------------------------------------- -------------------------------------------------------------------
Mon Aug 1 20:01:18 UTC 2022 - Martin Liška <mliska@suse.cz> Mon Aug 1 20:01:18 UTC 2022 - Martin Liška <mliska@suse.cz>

View File

@ -16,10 +16,10 @@
# #
%define git_ver .0.abb0b891e97a %define git_ver .0.fcf62e5b494b
Name: fabtests Name: fabtests
Version: 1.15.1 Version: 1.16.0
Release: 0 Release: 0
Summary: Test suite for libfabric API Summary: Test suite for libfabric API
License: BSD-2-Clause OR GPL-2.0-only License: BSD-2-Clause OR GPL-2.0-only
@ -28,8 +28,6 @@ URL: http://www.github.com/ofiwg/libfabric
Source: libfabric-%{version}%{git_ver}.tar.bz2 Source: libfabric-%{version}%{git_ver}.tar.bz2
Source1: fabtests-rpmlintrc Source1: fabtests-rpmlintrc
Patch0: libfabric-libtool.patch Patch0: libfabric-libtool.patch
Patch1: prov-opx-Correctly-disable-OPX-if-unsupported.patch
Patch2: disable-flatten-attr.patch
BuildRequires: autoconf BuildRequires: autoconf
BuildRequires: automake BuildRequires: automake
BuildRequires: libfabric-devel = %{version} BuildRequires: libfabric-devel = %{version}
@ -42,8 +40,6 @@ Fabtests provides a set of examples that uses libfabric, a fabric software libra
%prep %prep
%setup -q -n libfabric-%{version}%{git_ver} %setup -q -n libfabric-%{version}%{git_ver}
%patch0 -p1 %patch0 -p1
%patch1
%patch2 -p1
%build %build
cd fabtests cd fabtests

View File

@ -1,3 +0,0 @@
version https://git-lfs.github.com/spec/v1
oid sha256:771c54f15c20dae003029671660aacfe7d0959ed26efffeead5025a8e4c528b5
size 2763483

View File

@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:c89b4720d72d01a0488ca53a7b31ab95daab0bf4a47846a328343685afe617aa
size 2943718

View File

@ -1,3 +1,109 @@
-------------------------------------------------------------------
Fri Sep 30 11:44:45 UTC 2022 - Nicolas Morey-Chaisemartin <nmoreychaisemartin@suse.com>
- Update to 1.16.0 (jsc#PED-351, jsc#PED-190)
- Core
- Added HMEM IPC cache
- Use exact string comparison checks for network interfaces
- Restructuring of poll/epoll abstraction
- Add ability to disable locks completely in debug builds
- Serialize access to modifying the logging calls
- Minor fixes to fi_tostr text formatting
- Add hmem interface checks to memory registration
- EFA
- Added support of Synapse AI memory.
- Improved error message
- Net
- Temporarily forked, optimized version of tcp provider
- Focused on improved performance and scalability over tcp sockets
- Fork ensures tcp provider stability while net provider is developed
- Shares the tcp provider protocol and base implementation for msg endpoints
- Integrates direct support for rdm endpoints, using a derivative from rxm
- Implements own protocol for rdm endpoints, separate from rxm;tcp
- OPX
- Added initial support for SDMA
- General performance enhancements
- Performance improvements to reliability protocol
- Improved deferred work pending complete
- Added support for OPX_AV=runtime
- Support iov memory registration ops
- Added DAOS RPC support
- Atomic ops enhancements
- Improved documentation
- Debug build enhancements
- Fixed compiler warnings
- Reduced time to compile prov/opx code
- General bug fixes
- Fixed PSN wrapping scaling
- Added intranode fence
- Addressed bugs discovered by coverity scan
- PSM2
- Fix sending CQ data in some instances of fi_tsendmsg
- PSM3
- Updated to match Intel Ethernet Fabric Suite (IEFS) 11.3 release
- RxM
- Update to read multiple completions at once from msg provider
- Move RxM AV implementation to util code to share with net provider
- Minor code cleanups
- SHM
- Implement and use ipc_cache
- Add log messages for debugging and error tracking
- Fix check for FI_MR_HMEM mr_mode
- Move shm signal handlers initialization to EP
- Added log messages for errors detected
- TCP
- Fix incorrect signaling of the CQ
- Increase max number of poll events to retrieve
- Acquire ep lock prior to flushing socket in shutdown
- Verify ep state prior to progressing socket data
- Read cm error data when receiving connreq response
- Log error on connect failure
- Fix assertion failure in CQ progress function
- Util
- Fix text in log of UFFD ioctl failure
- Introduce cuda ipc monitor
- Fix CQ memory leak handling overflow
- Fix MR mode bit check for ver 1.5 and greater
- Add max_array_size to track/check array overflow
- Always progress transfers when reading from a CQ
- Handle NULL address insertion
- Try IPv4 before IPv6 addresses when starting name server
- Fix IP util av default address length
- Fix util IP getinfo path to read hints->addr_format
- Fix debug print mismatch
- Fix return code when memory allocation fails.
- Fix build sign warning in ofi_bufpool_region_alloc
- Minor code cleanups
- Print warning if an addr is inserted into an AV again
- Verbs
- Fix support of FI_SOCKADDR_IB when requested by the application
- Ensure all posted receives are flushed to the application
- Update ofi_mr_cache_search API for hmem IPC support
- Reduce logging verbosity for "no active ports"
- Fix incorrect length used in memory registration
- Various minor bug fixes for test failures
- Fix a memory leak getting IB address
- Implement verbs provider on Windows over NetworkDirect API
- Set and check address format correctly
- Only close qp if it was initialized
- Portable detection of loopback device
- Fabtests
- multi_ep: Separate EP resources and fix MR registration
- multi_recv: Fix possible crash and check for valid buffer
- unexpected_msg: Fix printf compiler warning
- dgram_pingpong.c: Use out-of-band sync
- multinode: Make multinode tests platform agnostic, fix formatting
- ubertest: Fix string comparison to include length, fix writedata completion check
- av_test: add support for -e <ep_type>
- New tests:
- dmabuf-rdma: Component level test for dma-buf RDMA
- sock_test: Component level performance test of poll, epoll, and select
- rdm_stress: Multi-threaded, multi-process stress test for RDM endpoints
- sighandler_test: Regression test for signal handler restoration
- Drop patches fixed upstream:
- prov-opx-Correctly-disable-OPX-if-unsupported.patch
- disable-flatten-attr.patch
------------------------------------------------------------------- -------------------------------------------------------------------
Mon Aug 1 20:01:18 UTC 2022 - Martin Liška <mliska@suse.cz> Mon Aug 1 20:01:18 UTC 2022 - Martin Liška <mliska@suse.cz>

View File

@ -17,10 +17,10 @@
# #
%define git_ver .0.abb0b891e97a %define git_ver .0.fcf62e5b494b
Name: libfabric Name: libfabric
Version: 1.15.1 Version: 1.16.0
Release: 0 Release: 0
Summary: User-space RDMA Fabric Interfaces Summary: User-space RDMA Fabric Interfaces
License: BSD-2-Clause OR GPL-2.0-only License: BSD-2-Clause OR GPL-2.0-only
@ -28,8 +28,6 @@ Group: Development/Libraries/C and C++
Source: %{name}-%{version}%{git_ver}.tar.bz2 Source: %{name}-%{version}%{git_ver}.tar.bz2
Source1: baselibs.conf Source1: baselibs.conf
Patch0: libfabric-libtool.patch Patch0: libfabric-libtool.patch
Patch1: prov-opx-Correctly-disable-OPX-if-unsupported.patch
Patch2: disable-flatten-attr.patch
URL: http://www.github.com/ofiwg/libfabric URL: http://www.github.com/ofiwg/libfabric
BuildRequires: autoconf BuildRequires: autoconf
BuildRequires: automake BuildRequires: automake
@ -72,8 +70,6 @@ services, such as RDMA. This package contains the development files.
%prep %prep
%setup -q -n %{name}-%{version}%{git_ver} %setup -q -n %{name}-%{version}%{git_ver}
%patch0 -p1 %patch0 -p1
%patch1
%patch2 -p1
%build %build
rm -f config/libtool.m4 rm -f config/libtool.m4
@ -123,13 +119,16 @@ rm -f %{buildroot}%{_libdir}/*.la
%{_includedir}/rdma/fi_cm.h %{_includedir}/rdma/fi_cm.h
%{_includedir}/rdma/fi_collective.h %{_includedir}/rdma/fi_collective.h
%{_includedir}/rdma/fi_domain.h %{_includedir}/rdma/fi_domain.h
%{_includedir}/rdma/fi_endpoint.h
%{_includedir}/rdma/fi_eq.h %{_includedir}/rdma/fi_eq.h
%{_includedir}/rdma/fi_errno.h
%{_includedir}/rdma/fi_ext.h %{_includedir}/rdma/fi_ext.h
%{_includedir}/rdma/fi_rma.h %{_includedir}/rdma/fi_rma.h
%{_includedir}/rdma/fi_endpoint.h
%{_includedir}/rdma/fi_errno.h
%{_includedir}/rdma/fi_tagged.h %{_includedir}/rdma/fi_tagged.h
%{_includedir}/rdma/fi_trigger.h %{_includedir}/rdma/fi_trigger.h
%dir %{_includedir}/rdma/providers
%{_includedir}/rdma/providers/fi_log.h
%{_includedir}/rdma/providers/fi_prov.h
%{_includedir}/rdma/fi_ext_usnic.h %{_includedir}/rdma/fi_ext_usnic.h
%ifarch x86_64 %ifarch x86_64
%{_includedir}/rdma/fi_ext_psm2.h %{_includedir}/rdma/fi_ext_psm2.h

View File

@ -1,61 +0,0 @@
commit 93d24c3ea4801c344f62c03fb4e137b9abc632ed
Author: Michael Heinz <mheinz@cornelisnetworks.com>
Date: Wed Mar 23 11:29:57 2022 -0400
prov/opx: Correctly disable OPX if unsupported.
Disables building OPX if building on a non-x86 machine even if it is
running Linux, or if libnuma is not installed.
Signed-off-by: Michael Heinz <mheinz@cornelisnetworks.com>
diff --git prov/opx/configure.m4 prov/opx/configure.m4
index 6dc2f6091f6c..0aca82a30934 100644
--- prov/opx/configure.m4
+++ prov/opx/configure.m4
@@ -44,7 +44,13 @@ AC_DEFUN([FI_OPX_CONFIGURE],[
opx_happy=0
opx_direct=0
- AS_IF([test x"$enable_opx" != x"no"],[
+
+ dnl OPX hardware is not supported for MacOS or FreeBSD,
+ dnl and is not supported for non-x86 processors.
+ AS_IF([test "x$macos" = "x1"],[opx_happy=0],
+ [test "x$freebsd" = "x1"],[opx_happy=0],
+ [test x$host_cpu != xx86_64],[opx_happy=0],
+ [test x"$enable_opx" != x"no"],[
AC_MSG_CHECKING([for opx provider])
@@ -91,6 +97,7 @@ AC_DEFUN([FI_OPX_CONFIGURE],[
AC_SUBST(opx_reliability, [$OPX_RELIABILITY])
AC_DEFINE_UNQUOTED(OPX_RELIABILITY, [$OPX_RELIABILITY], [fabric direct reliability])
+ opx_happy=1
FI_CHECK_PACKAGE([opx_uuid],
[uuid/uuid.h],
[uuid],
@@ -98,12 +105,17 @@ AC_DEFUN([FI_OPX_CONFIGURE],[
[],
[],
[],
- [opx_happy=1],
+ [],
+ [opx_happy=0])
+ FI_CHECK_PACKAGE([opx_numa],
+ [numa.h],
+ [numa],
+ [numa_node_of_cpu],
+ [],
+ [],
+ [],
+ [],
[opx_happy=0])
-
- dnl OPX hardware is not available for MacOS or FreeBSD.
- AS_IF([test "x$macos" = "x1"],[opx_happy=0],[])
- AS_IF([test "x$freebsd" = "x1"],[opx_happy=0],[])
AC_CHECK_DECL([HAVE_ATOMICS],
[],