From d98f48a74f3e2660968de8476be9292a5850e5f2f8d1ae8a5d32ffa35732e0f9 Mon Sep 17 00:00:00 2001 From: Nicolas Morey-Chaisemartin Date: Mon, 3 Oct 2022 07:34:47 +0000 Subject: [PATCH] Accepting request 1007631 from home:NMoreyChaisemartin:branches:science:HPC - 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 - 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 OBS-URL: https://build.opensuse.org/request/show/1007631 OBS-URL: https://build.opensuse.org/package/show/science:HPC/libfabric?expand=0&rev=75 --- _service | 2 +- disable-flatten-attr.patch | 13 --- fabtests.changes | 106 ++++++++++++++++++ fabtests.spec | 8 +- libfabric-1.15.1.0.abb0b891e97a.tar.bz2 | 3 - libfabric-1.16.0.0.fcf62e5b494b.tar.bz2 | 3 + libfabric.changes | 106 ++++++++++++++++++ libfabric.spec | 15 ++- ...Correctly-disable-OPX-if-unsupported.patch | 61 ---------- 9 files changed, 225 insertions(+), 92 deletions(-) delete mode 100644 disable-flatten-attr.patch delete mode 100644 libfabric-1.15.1.0.abb0b891e97a.tar.bz2 create mode 100644 libfabric-1.16.0.0.fcf62e5b494b.tar.bz2 delete mode 100644 prov-opx-Correctly-disable-OPX-if-unsupported.patch diff --git a/_service b/_service index 7a0b809..0080632 100644 --- a/_service +++ b/_service @@ -8,7 +8,7 @@ @PARENT_TAG@.@TAG_OFFSET@.%h v(.*) \1 - ba6d85c63f59013e813caecd5c96c0b9e76488f7 + fcf62e5b494b78be35ee884c48ad84663abef0f0 libfabric*.tar diff --git a/disable-flatten-attr.patch b/disable-flatten-attr.patch deleted file mode 100644 index f076721..0000000 --- a/disable-flatten-attr.patch +++ /dev/null @@ -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 diff --git a/fabtests.changes b/fabtests.changes index f8dbeee..9668779 100644 --- a/fabtests.changes +++ b/fabtests.changes @@ -1,3 +1,109 @@ +------------------------------------------------------------------- +Fri Sep 30 11:44:45 UTC 2022 - Nicolas Morey-Chaisemartin + +- 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 + - 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 diff --git a/fabtests.spec b/fabtests.spec index 562058b..b96ad6f 100644 --- a/fabtests.spec +++ b/fabtests.spec @@ -16,10 +16,10 @@ # -%define git_ver .0.abb0b891e97a +%define git_ver .0.fcf62e5b494b Name: fabtests -Version: 1.15.1 +Version: 1.16.0 Release: 0 Summary: Test suite for libfabric API 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 Source1: fabtests-rpmlintrc Patch0: libfabric-libtool.patch -Patch1: prov-opx-Correctly-disable-OPX-if-unsupported.patch -Patch2: disable-flatten-attr.patch BuildRequires: autoconf BuildRequires: automake BuildRequires: libfabric-devel = %{version} @@ -42,8 +40,6 @@ Fabtests provides a set of examples that uses libfabric, a fabric software libra %prep %setup -q -n libfabric-%{version}%{git_ver} %patch0 -p1 -%patch1 -%patch2 -p1 %build cd fabtests diff --git a/libfabric-1.15.1.0.abb0b891e97a.tar.bz2 b/libfabric-1.15.1.0.abb0b891e97a.tar.bz2 deleted file mode 100644 index eaaa928..0000000 --- a/libfabric-1.15.1.0.abb0b891e97a.tar.bz2 +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:771c54f15c20dae003029671660aacfe7d0959ed26efffeead5025a8e4c528b5 -size 2763483 diff --git a/libfabric-1.16.0.0.fcf62e5b494b.tar.bz2 b/libfabric-1.16.0.0.fcf62e5b494b.tar.bz2 new file mode 100644 index 0000000..2d2a9e6 --- /dev/null +++ b/libfabric-1.16.0.0.fcf62e5b494b.tar.bz2 @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:c89b4720d72d01a0488ca53a7b31ab95daab0bf4a47846a328343685afe617aa +size 2943718 diff --git a/libfabric.changes b/libfabric.changes index f8dbeee..9668779 100644 --- a/libfabric.changes +++ b/libfabric.changes @@ -1,3 +1,109 @@ +------------------------------------------------------------------- +Fri Sep 30 11:44:45 UTC 2022 - Nicolas Morey-Chaisemartin + +- 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 + - 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 diff --git a/libfabric.spec b/libfabric.spec index 5a401e6..c2966a7 100644 --- a/libfabric.spec +++ b/libfabric.spec @@ -17,10 +17,10 @@ # -%define git_ver .0.abb0b891e97a +%define git_ver .0.fcf62e5b494b Name: libfabric -Version: 1.15.1 +Version: 1.16.0 Release: 0 Summary: User-space RDMA Fabric Interfaces 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 Source1: baselibs.conf 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 BuildRequires: autoconf BuildRequires: automake @@ -72,8 +70,6 @@ services, such as RDMA. This package contains the development files. %prep %setup -q -n %{name}-%{version}%{git_ver} %patch0 -p1 -%patch1 -%patch2 -p1 %build rm -f config/libtool.m4 @@ -123,13 +119,16 @@ rm -f %{buildroot}%{_libdir}/*.la %{_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_rma.h -%{_includedir}/rdma/fi_endpoint.h -%{_includedir}/rdma/fi_errno.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_prov.h %{_includedir}/rdma/fi_ext_usnic.h %ifarch x86_64 %{_includedir}/rdma/fi_ext_psm2.h diff --git a/prov-opx-Correctly-disable-OPX-if-unsupported.patch b/prov-opx-Correctly-disable-OPX-if-unsupported.patch deleted file mode 100644 index e07d97f..0000000 --- a/prov-opx-Correctly-disable-OPX-if-unsupported.patch +++ /dev/null @@ -1,61 +0,0 @@ -commit 93d24c3ea4801c344f62c03fb4e137b9abc632ed -Author: Michael Heinz -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 - -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], - [],