diff --git a/_service b/_service index 258ddf8..7a0b809 100644 --- a/_service +++ b/_service @@ -8,7 +8,7 @@ @PARENT_TAG@.@TAG_OFFSET@.%h v(.*) \1 - e800ff281fdb7210d01c5ef9c544bac1eedad514 + ba6d85c63f59013e813caecd5c96c0b9e76488f7 libfabric*.tar diff --git a/fabtests.changes b/fabtests.changes index 3827b37..c15a715 100644 --- a/fabtests.changes +++ b/fabtests.changes @@ -1,3 +1,122 @@ +------------------------------------------------------------------- +Thu Jun 23 10:36:09 UTC 2022 - Nicolas Morey-Chaisemartin + +- Update to 1.15.1 + - Core + - Fix fi_info indentation error in fi_tostr + - hmem_ze: Add runtime option to choose specific copy engine + - Cleanup of configure HMEM checks + - Fixed stringop-truncation in ofi_ifaddr_get_speed + - Add utility provider log suffix to make logs easier to read + - Fix truncation of ipv6 addressing + - hmem: add support for AWS Trainium devices + - Fix potential sscanf overflows + - hmem: pass through device and flags when querying memory interface + - Rework locking in several areas to convert spinlocks to mutexes + - Add new locking abstractions to select lock types at runtime + - Add new FI_PROTO_RXM_TCP for optimized rxm over tcp path + - Fix windows implementation to remove fd from poll set + - EFA + - Added windows support through efawin (https://github.com/aws/efawin) + - Added support of AWS neuron. + - Added support of using gdrcopy to copy data from host to device. + - Fixed a bug that cause 0 byte read to fail. + - Fixed a memory corruption issue that can caused forked process to crash. + - Extended testing coverage through new pytest based testing framework. + - HOOKS + - Add new hooking provider dmabuf_peer_mem + - Enable DL build of hooking providers + - Add HMEM memory registration hook + - OPX + - New provider supporting Cornelis Networks Omni-path hardware + - PSM3 + - Updated psm3 to match IEFS 11.2.0.0 release + - Added support for sockets (TCP/UDP) via a runtime selectable Hardware + Abstraction Layer (HAL) + - Added support for IPv6 addressing in RoCE and sockets + - Added various NIC selection filtering options (wildcarded NIC name, + address format, wildcarded IP subnet, link speed) + - Performance tuning in conjunction with OneAPI and OneCCL + - Improved PSM3_IDENTIFY output + - Rename most internal symbols to psm3_ + - Corrected vulnerabilities found during Coverity scans + - configure options refined and help text improved + - PSM3_MULTI_EP has been deprecated (recommend always enabled, default + is enabled [same default as previous releases]) + - Various bug fixes + - RxM + - Add check that atomic size is valid + - Add support to passthru calls to tcp provider in specific + - TCP + - Add assert to verify RMA source/target msg sizes match + - Wake-up threads blocked on CQ to update their poll events + - Fix use of incorrect events in progress handler + - Fixes for various compile warnings, mostly on Windows + - Add support for FI_RMA_EVENT capability + - Add support for completion counters + - Fix check for CQ data in tagged messages + - Add cancel support to shared rx context + - Add src_addr receive buffer matching + - Add provider control to assign a src_addr with an ep + - Handle trecv with FI_PEEK flag + - Allow binding a CQ with an SRX + - Restructuring of code in source files + - Handle EWOULDBLOCK returned by send call + - Add hot (active) pollfd + - SHM + - Properly chain the original signal handlers + - Avoid uninitialized variable with invalid atomic parameters + - Fix 0 byte SAR read + - Initialize len parameter to accept + - Refactor and simplify protocol code + - Remove broken support for 128-bit atomics + - Fix FI_INJECT flag support + - Add assert to verify RMA source/target msg sizes match + - Set domain threading to thread safe + - Fix possible use of uninitiated var in av_insert + - Util + - Fix sign warning in ofi_bufpool_region_alloc + - Remove unused variable from ofi_bufpool_destroy + - Fix check for valid datatype in ofi_atomic_valid + - Return with error if util_coll_sched_copy fails + - Fix use of uninitialized variable in ofi_ep_allreduce + - Fix memory access in ip_av_insertsym + - Track ep per collective operation not with multicast + - Restructure collective av set creation/destruction + - Change most locks from spin locks to mutexes + - Allow selection of spinlocks for CQ and domain objects + - Fix AV default addrlen + - Update fi_getinfo checks to include hints->addr_ + - Handle NULL address insertion to fi_av_insert + - Verbs + - Initial changes for compiling on Windows (via NetworkDirect) + - Add a failover path to dma-buf based memory registration + - Replace use of spin locks with mutexes + - Check for valid qp prior to cleanup + - Set and check for address format correct in fi_getinfo + - Fabtests + - hmem_cuda: used device allocated host buff to fill device buf + - Add python scripts to control test execution + - test_configs: include util provider in core config file + - Add option "--pin-core" + - Only call nrt_init once + - Fix a bug in ft_neuron_cleanup + - Correct help for unit test programs + - Remove duplicate help prints from fi_mcast + - configure.ac: fix --enable-debug=no not properly detected + - msg_inject: handle the case ft_tsendmsg return -FI_EAGAIN + - Add AWS Trainium device support + - fi_inj_complete: Add FI_INJECT to fabtests + - inj_complete.c: Make arguments align with the other tests + - dgram_pingpong: handle the error return of fi_recv + - recv_cancel: Remove requirement for unexpected msg handling + - poll: Fix crash if unable to allocate pollset + - ubertest: Add GPU testing and validation support + - Add HMEM options parsing support + - Update and re-enable fi_multi_ep test +- Add prov-opx-Correctly-disable-OPX-if-unsupported.patch to disable + OPX compilation on non x86_64 systems + ------------------------------------------------------------------- Tue Apr 19 07:27:42 UTC 2022 - Nicolas Morey-Chaisemartin diff --git a/fabtests.spec b/fabtests.spec index 65dbb89..2ddc606 100644 --- a/fabtests.spec +++ b/fabtests.spec @@ -16,10 +16,10 @@ # -%define git_ver .0.e800ff281fdb +%define git_ver .0.abb0b891e97a Name: fabtests -Version: 1.14.1 +Version: 1.15.1 Release: 0 Summary: Test suite for libfabric API License: BSD-2-Clause OR GPL-2.0-only diff --git a/libfabric-1.14.1.0.e800ff281fdb.tar.bz2 b/libfabric-1.14.1.0.e800ff281fdb.tar.bz2 deleted file mode 100644 index c5fb677..0000000 --- a/libfabric-1.14.1.0.e800ff281fdb.tar.bz2 +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:58ca9e5976ab843673f2f41e1a281a107c386ac00de0a85b412f7a6894371a3c -size 2462965 diff --git a/libfabric-1.15.1.0.abb0b891e97a.tar.bz2 b/libfabric-1.15.1.0.abb0b891e97a.tar.bz2 new file mode 100644 index 0000000..eaaa928 --- /dev/null +++ b/libfabric-1.15.1.0.abb0b891e97a.tar.bz2 @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:771c54f15c20dae003029671660aacfe7d0959ed26efffeead5025a8e4c528b5 +size 2763483 diff --git a/libfabric.changes b/libfabric.changes index 3827b37..c15a715 100644 --- a/libfabric.changes +++ b/libfabric.changes @@ -1,3 +1,122 @@ +------------------------------------------------------------------- +Thu Jun 23 10:36:09 UTC 2022 - Nicolas Morey-Chaisemartin + +- Update to 1.15.1 + - Core + - Fix fi_info indentation error in fi_tostr + - hmem_ze: Add runtime option to choose specific copy engine + - Cleanup of configure HMEM checks + - Fixed stringop-truncation in ofi_ifaddr_get_speed + - Add utility provider log suffix to make logs easier to read + - Fix truncation of ipv6 addressing + - hmem: add support for AWS Trainium devices + - Fix potential sscanf overflows + - hmem: pass through device and flags when querying memory interface + - Rework locking in several areas to convert spinlocks to mutexes + - Add new locking abstractions to select lock types at runtime + - Add new FI_PROTO_RXM_TCP for optimized rxm over tcp path + - Fix windows implementation to remove fd from poll set + - EFA + - Added windows support through efawin (https://github.com/aws/efawin) + - Added support of AWS neuron. + - Added support of using gdrcopy to copy data from host to device. + - Fixed a bug that cause 0 byte read to fail. + - Fixed a memory corruption issue that can caused forked process to crash. + - Extended testing coverage through new pytest based testing framework. + - HOOKS + - Add new hooking provider dmabuf_peer_mem + - Enable DL build of hooking providers + - Add HMEM memory registration hook + - OPX + - New provider supporting Cornelis Networks Omni-path hardware + - PSM3 + - Updated psm3 to match IEFS 11.2.0.0 release + - Added support for sockets (TCP/UDP) via a runtime selectable Hardware + Abstraction Layer (HAL) + - Added support for IPv6 addressing in RoCE and sockets + - Added various NIC selection filtering options (wildcarded NIC name, + address format, wildcarded IP subnet, link speed) + - Performance tuning in conjunction with OneAPI and OneCCL + - Improved PSM3_IDENTIFY output + - Rename most internal symbols to psm3_ + - Corrected vulnerabilities found during Coverity scans + - configure options refined and help text improved + - PSM3_MULTI_EP has been deprecated (recommend always enabled, default + is enabled [same default as previous releases]) + - Various bug fixes + - RxM + - Add check that atomic size is valid + - Add support to passthru calls to tcp provider in specific + - TCP + - Add assert to verify RMA source/target msg sizes match + - Wake-up threads blocked on CQ to update their poll events + - Fix use of incorrect events in progress handler + - Fixes for various compile warnings, mostly on Windows + - Add support for FI_RMA_EVENT capability + - Add support for completion counters + - Fix check for CQ data in tagged messages + - Add cancel support to shared rx context + - Add src_addr receive buffer matching + - Add provider control to assign a src_addr with an ep + - Handle trecv with FI_PEEK flag + - Allow binding a CQ with an SRX + - Restructuring of code in source files + - Handle EWOULDBLOCK returned by send call + - Add hot (active) pollfd + - SHM + - Properly chain the original signal handlers + - Avoid uninitialized variable with invalid atomic parameters + - Fix 0 byte SAR read + - Initialize len parameter to accept + - Refactor and simplify protocol code + - Remove broken support for 128-bit atomics + - Fix FI_INJECT flag support + - Add assert to verify RMA source/target msg sizes match + - Set domain threading to thread safe + - Fix possible use of uninitiated var in av_insert + - Util + - Fix sign warning in ofi_bufpool_region_alloc + - Remove unused variable from ofi_bufpool_destroy + - Fix check for valid datatype in ofi_atomic_valid + - Return with error if util_coll_sched_copy fails + - Fix use of uninitialized variable in ofi_ep_allreduce + - Fix memory access in ip_av_insertsym + - Track ep per collective operation not with multicast + - Restructure collective av set creation/destruction + - Change most locks from spin locks to mutexes + - Allow selection of spinlocks for CQ and domain objects + - Fix AV default addrlen + - Update fi_getinfo checks to include hints->addr_ + - Handle NULL address insertion to fi_av_insert + - Verbs + - Initial changes for compiling on Windows (via NetworkDirect) + - Add a failover path to dma-buf based memory registration + - Replace use of spin locks with mutexes + - Check for valid qp prior to cleanup + - Set and check for address format correct in fi_getinfo + - Fabtests + - hmem_cuda: used device allocated host buff to fill device buf + - Add python scripts to control test execution + - test_configs: include util provider in core config file + - Add option "--pin-core" + - Only call nrt_init once + - Fix a bug in ft_neuron_cleanup + - Correct help for unit test programs + - Remove duplicate help prints from fi_mcast + - configure.ac: fix --enable-debug=no not properly detected + - msg_inject: handle the case ft_tsendmsg return -FI_EAGAIN + - Add AWS Trainium device support + - fi_inj_complete: Add FI_INJECT to fabtests + - inj_complete.c: Make arguments align with the other tests + - dgram_pingpong: handle the error return of fi_recv + - recv_cancel: Remove requirement for unexpected msg handling + - poll: Fix crash if unable to allocate pollset + - ubertest: Add GPU testing and validation support + - Add HMEM options parsing support + - Update and re-enable fi_multi_ep test +- Add prov-opx-Correctly-disable-OPX-if-unsupported.patch to disable + OPX compilation on non x86_64 systems + ------------------------------------------------------------------- Tue Apr 19 07:27:42 UTC 2022 - Nicolas Morey-Chaisemartin diff --git a/libfabric.spec b/libfabric.spec index 059be90..64e1263 100644 --- a/libfabric.spec +++ b/libfabric.spec @@ -17,10 +17,10 @@ # -%define git_ver .0.e800ff281fdb +%define git_ver .0.abb0b891e97a Name: libfabric -Version: 1.14.1 +Version: 1.15.1 Release: 0 Summary: User-space RDMA Fabric Interfaces License: BSD-2-Clause OR GPL-2.0-only @@ -28,6 +28,7 @@ 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 URL: http://www.github.com/ofiwg/libfabric BuildRequires: autoconf BuildRequires: automake @@ -70,6 +71,7 @@ services, such as RDMA. This package contains the development files. %prep %setup -q -n %{name}-%{version}%{git_ver} %patch0 -p1 +%patch1 %build %define _lto_cflags %{nil} diff --git a/prov-opx-Correctly-disable-OPX-if-unsupported.patch b/prov-opx-Correctly-disable-OPX-if-unsupported.patch new file mode 100644 index 0000000..e07d97f --- /dev/null +++ b/prov-opx-Correctly-disable-OPX-if-unsupported.patch @@ -0,0 +1,61 @@ +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], + [],