Accepting request 1075600 from science:HPC

- Update to v1.14.0
  - UCP
    - Added API for querying transport and device names on endpoint
    - Added API for querying datatype object
    - Added API for exporting and importing memory keys (no implementation yet)
    - Added support for non-persistent active message header
    - Added infrastructure to print protocols v2 performance
    - Multiple performance improvements for protocols v2
    - Added support for non-contiguous datatypes for rendezvous protocols v2
    - Added support for reset and abort request in protocols v2
    - Added support for user memory handles in RMA API
    - Added multi-rail support for RMA API in protocols v2
    - Added support for up to 16 different lanes per endpoint
    - Added support for dmabuf memory registration in protocols v2
    - Added strong fence mode for ucp_worker_fence() API
  - UCT
    - Added new uct_md_mem_attach() API to support exported memory handles
    - Added remote completion mode for endpoint flush (via new flag)
    - Added support for dmabuf registration
    - Added new uct_ep_connect_to_ep_v2() API
    - Added new uct_mem_reg_v2() API
    - Added new uct_md_query_v2() API
    - Added support for IPv6 loopback address in TCP transport
  - RDMA CORE (IB, ROCE, etc.)
    - Added ECE (enhanced connection establishment) support for RC and DC transports
    - Added support for hardware DCS in DC transport
    - Added UD interface and endpoint resource information to VFS
    - Added CQ creation via DEVX API
    - Removed support for accelerated IB transports over legacy experimental verbs
  - UCS
    - Added support for auto-correction of user environment variables
  - UCM
    - Implemented CUDA bistro hooks for aarch64 (to enable memory cache on this platform)
    - Added support for CUDA virtual/stream-ordered memory with cudaMallocAsync
  - Documentation
    - Added FAQ for using pkg-config tool to build applications with UCX
  - Tools
    - Added runtime library version to the 'ucx_info -v' output
    - Added support for memory types in ucx_info
  - Many bugfixes. See NEWS.
- Drop patch merged upstream:
  - UCS-DEBUG-replace-PTR-with-void.patch
  - gcc13-fix.patch
- Refresh openucx-s390x-support.patch

OBS-URL: https://build.opensuse.org/request/show/1075600
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/openucx?expand=0&rev=26
This commit is contained in:
Dominique Leuenberger 2023-04-01 21:26:51 +00:00 committed by Git OBS Bridge
commit 8a8941ab4f
7 changed files with 79 additions and 79 deletions

View File

@ -1,25 +0,0 @@
commit 2ba0935afc92b9288c01da246b3be53822277add
Author: Hui Zhou <hzhou321@anl.gov>
Date: Sun Aug 14 23:29:09 2022 -0500
UCS/DEBUG: replace PTR with void *
The PTR macro is missing on the latest Arch linux.
diff --git src/ucs/debug/debug.c src/ucs/debug/debug.c
index b803636c2221..4bbf5095c419 100644
--- src/ucs/debug/debug.c
+++ src/ucs/debug/debug.c
@@ -272,10 +272,10 @@ static int load_file(struct backtrace_file *file)
goto err_close;
}
- symcount = bfd_read_minisymbols(file->abfd, 0, (PTR)&file->syms, &size);
+ symcount = bfd_read_minisymbols(file->abfd, 0, (void *)&file->syms, &size);
if (symcount == 0) {
free(file->syms);
- symcount = bfd_read_minisymbols(file->abfd, 1, (PTR)&file->syms, &size);
+ symcount = bfd_read_minisymbols(file->abfd, 1, (void *)&file->syms, &size);
}
if (symcount < 0) {
goto err_close;

View File

@ -1,23 +0,0 @@
From 8f70e898b43d1bde1ff3fae56bf0ac5aac285997 Mon Sep 17 00:00:00 2001
From: Sam James <sam@gentoo.org>
Date: Fri, 9 Sep 2022 11:35:03 +0100
Subject: [PATCH] TEST/SOCKADDR: Add missing <cstdint> include for GCC 13
Closes: https://github.com/openucx/ucx/issues/8347
Signed-off-by: Sam James <sam@gentoo.org>
---
test/apps/sockaddr/sa_util.h | 1 +
1 file changed, 1 insertion(+)
diff --git a/test/apps/sockaddr/sa_util.h b/test/apps/sockaddr/sa_util.h
index 90c9649443f..c77ccc9a849 100644
--- a/test/apps/sockaddr/sa_util.h
+++ b/test/apps/sockaddr/sa_util.h
@@ -7,6 +7,7 @@
#ifndef SA_UTIL_H_
#define SA_UTIL_H_
+#include <cstdint>
#include <iostream>
#include <sstream>
#include <string>

View File

@ -1,13 +1,13 @@
commit d85339a86c0902ca36f4306f8d971cf46ae87eaf
Author: Nicolas Morey-Chaisemartin <nmoreychaisemartin@suse.com>
Date: Tue Sep 27 17:47:15 2022 +0200
commit 909e453ce7ee166c98274096720a6c9345fdc3ae
Author: Nicolas Morey <nmorey@suse.com>
Date: Mon Feb 13 17:04:14 2023 +0100
openucx s390x support
Signed-off-by: Nicolas Morey-Chaisemartin <nmoreychaisemartin@suse.com>
diff --git config/m4/ucm.m4 config/m4/ucm.m4
index 8d7a9e40ec06..df7508e1e71a 100644
index abf02c06f430..84aa3e214d5a 100644
--- config/m4/ucm.m4
+++ config/m4/ucm.m4
@@ -80,9 +80,20 @@ AC_CHECK_DECLS([SYS_ipc],
@ -33,7 +33,7 @@ index 8d7a9e40ec06..df7508e1e71a 100644
AS_IF([test "x$bistro_hooks_happy" = "xyes"],
[AC_DEFINE([UCM_BISTRO_HOOKS], [1], [Enable BISTRO hooks])],
diff --git src/tools/info/sys_info.c src/tools/info/sys_info.c
index 5316b1c4336e..e910bc53572d 100644
index f41155ca3d9d..edeaaf5df529 100644
--- src/tools/info/sys_info.c
+++ src/tools/info/sys_info.c
@@ -46,7 +46,8 @@ static const char* cpu_vendor_names[] = {
@ -47,7 +47,7 @@ index 5316b1c4336e..e910bc53572d 100644
static double measure_memcpy_bandwidth(size_t size)
diff --git src/ucm/Makefile.am src/ucm/Makefile.am
index 5140b5acf5bf..8805124befee 100644
index 48b82bf89cbe..582f83d1ea82 100644
--- src/ucm/Makefile.am
+++ src/ucm/Makefile.am
@@ -31,7 +31,8 @@ noinst_HEADERS = \
@ -61,7 +61,7 @@ index 5140b5acf5bf..8805124befee 100644
libucm_la_SOURCES = \
event/event.c \
diff --git src/ucm/bistro/bistro.h src/ucm/bistro/bistro.h
index 101000455e66..0ae947429796 100644
index b622e3c14fbb..4acd9e9cdb83 100644
--- src/ucm/bistro/bistro.h
+++ src/ucm/bistro/bistro.h
@@ -20,6 +20,8 @@ typedef struct ucm_bistro_restore_point ucm_bistro_restore_point_t;
@ -98,7 +98,7 @@ index 000000000000..c0f427f4984a
+
+#endif
diff --git src/ucs/Makefile.am src/ucs/Makefile.am
index 77680021d725..29f31aabd958 100644
index 9e0bd2ffb1cc..97021c205d5c 100644
--- src/ucs/Makefile.am
+++ src/ucs/Makefile.am
@@ -22,6 +22,7 @@ libucs_la_LIBADD = $(LIBM) $(top_builddir)/src/ucm/libucm.la $(BFD_LIBS)
@ -109,7 +109,7 @@ index 77680021d725..29f31aabd958 100644
arch/x86_64/bitops.h \
arch/bitops.h \
algorithm/crc.h \
@@ -81,12 +82,14 @@ nobase_dist_libucs_la_HEADERS = \
@@ -82,12 +83,14 @@ nobase_dist_libucs_la_HEADERS = \
arch/aarch64/global_opts.h \
arch/generic/atomic.h \
arch/ppc64/global_opts.h \
@ -124,8 +124,8 @@ index 77680021d725..29f31aabd958 100644
arch/x86_64/cpu.h \
arch/cpu.h \
config/ucm_opts.h \
@@ -134,6 +137,7 @@ libucs_la_SOURCES = \
algorithm/qsort_r.c \
@@ -138,6 +141,7 @@ libucs_la_SOURCES = \
algorithm/string_distance.c \
arch/aarch64/cpu.c \
arch/aarch64/global_opts.c \
+ arch/s390x/global_opts.c \
@ -133,7 +133,7 @@ index 77680021d725..29f31aabd958 100644
arch/ppc64/global_opts.c \
arch/x86_64/cpu.c \
diff --git src/ucs/arch/atomic.h src/ucs/arch/atomic.h
index 6a8551f592e1..e3a9f4641383 100644
index 52be711c1d0a..8f1d62a28dc9 100644
--- src/ucs/arch/atomic.h
+++ src/ucs/arch/atomic.h
@@ -15,6 +15,8 @@
@ -146,7 +146,7 @@ index 6a8551f592e1..e3a9f4641383 100644
# error "Unsupported architecture"
#endif
diff --git src/ucs/arch/bitops.h src/ucs/arch/bitops.h
index 77e00571e04f..bbdea0ceb210 100644
index e89a37d0b673..dd2b9d5b6bcb 100644
--- src/ucs/arch/bitops.h
+++ src/ucs/arch/bitops.h
@@ -20,6 +20,8 @@ BEGIN_C_DECLS
@ -159,7 +159,7 @@ index 77e00571e04f..bbdea0ceb210 100644
# error "Unsupported architecture"
#endif
diff --git src/ucs/arch/cpu.c src/ucs/arch/cpu.c
index 9e6fab0904eb..c912e991586c 100644
index ac8e268a1502..16c308bae94c 100644
--- src/ucs/arch/cpu.c
+++ src/ucs/arch/cpu.c
@@ -61,6 +61,10 @@ const ucs_cpu_builtin_memcpy_t ucs_cpu_builtin_memcpy[UCS_CPU_VENDOR_LAST] = {
@ -178,11 +178,11 @@ index 9e6fab0904eb..c912e991586c 100644
[UCS_CPU_VENDOR_GENERIC_ARM] = 5800 * UCS_MBYTE,
[UCS_CPU_VENDOR_GENERIC_PPC] = 5800 * UCS_MBYTE,
+ [UCS_CPU_VENDOR_GENERIC_IBM] = 5800 * UCS_MBYTE,
[UCS_CPU_VENDOR_FUJITSU_ARM] = 12000 * UCS_MBYTE
[UCS_CPU_VENDOR_FUJITSU_ARM] = 12000 * UCS_MBYTE,
[UCS_CPU_VENDOR_ZHAOXIN] = 5800 * UCS_MBYTE
};
diff --git src/ucs/arch/cpu.h src/ucs/arch/cpu.h
index 719913fb0b8c..04d69ca01533 100644
index a59561c041fa..dc95f3f56231 100644
--- src/ucs/arch/cpu.h
+++ src/ucs/arch/cpu.h
@@ -63,6 +63,7 @@ typedef enum ucs_cpu_vendor {
@ -203,7 +203,7 @@ index 719913fb0b8c..04d69ca01533 100644
# error "Unsupported architecture"
#endif
diff --git src/ucs/arch/global_opts.h src/ucs/arch/global_opts.h
index 8786f130290a..0d251fb91868 100644
index 75d086177a7f..96c670cb60d3 100644
--- src/ucs/arch/global_opts.h
+++ src/ucs/arch/global_opts.h
@@ -15,6 +15,8 @@
@ -244,7 +244,7 @@ index 000000000000..ce48ff1ff451
+{
+ if (!n)
+ return 0;
+ return 63 - __builtin_clzl(n);
+ return 63 - __builtin_clz(n);
+}
+
+static UCS_F_ALWAYS_INLINE unsigned ucs_ffs32(uint32_t n)
@ -410,10 +410,10 @@ index 000000000000..225e4e5e896a
+#endif
+
diff --git src/ucs/sys/sys.c src/ucs/sys/sys.c
index 88f4a147315e..0b6d186265a8 100644
index 57160c061986..be6b20812c39 100644
--- src/ucs/sys/sys.c
+++ src/ucs/sys/sys.c
@@ -1224,8 +1224,19 @@ void *ucs_sys_realloc(void *old_ptr, size_t old_length, size_t new_length)
@@ -1256,8 +1256,19 @@ void *ucs_sys_realloc(void *old_ptr, size_t old_length, size_t new_length)
if (old_ptr == NULL) {
/* Note: Must pass the 0 offset as "long", otherwise it will be
* partially undefined when converted to syscall arguments */

View File

@ -1,3 +1,51 @@
-------------------------------------------------------------------
Mon Mar 20 09:00:27 UTC 2023 - Nicolas Morey <nicolas.morey@suse.com>
- Update to v1.14.0
- UCP
- Added API for querying transport and device names on endpoint
- Added API for querying datatype object
- Added API for exporting and importing memory keys (no implementation yet)
- Added support for non-persistent active message header
- Added infrastructure to print protocols v2 performance
- Multiple performance improvements for protocols v2
- Added support for non-contiguous datatypes for rendezvous protocols v2
- Added support for reset and abort request in protocols v2
- Added support for user memory handles in RMA API
- Added multi-rail support for RMA API in protocols v2
- Added support for up to 16 different lanes per endpoint
- Added support for dmabuf memory registration in protocols v2
- Added strong fence mode for ucp_worker_fence() API
- UCT
- Added new uct_md_mem_attach() API to support exported memory handles
- Added remote completion mode for endpoint flush (via new flag)
- Added support for dmabuf registration
- Added new uct_ep_connect_to_ep_v2() API
- Added new uct_mem_reg_v2() API
- Added new uct_md_query_v2() API
- Added support for IPv6 loopback address in TCP transport
- RDMA CORE (IB, ROCE, etc.)
- Added ECE (enhanced connection establishment) support for RC and DC transports
- Added support for hardware DCS in DC transport
- Added UD interface and endpoint resource information to VFS
- Added CQ creation via DEVX API
- Removed support for accelerated IB transports over legacy experimental verbs
- UCS
- Added support for auto-correction of user environment variables
- UCM
- Implemented CUDA bistro hooks for aarch64 (to enable memory cache on this platform)
- Added support for CUDA virtual/stream-ordered memory with cudaMallocAsync
- Documentation
- Added FAQ for using pkg-config tool to build applications with UCX
- Tools
- Added runtime library version to the 'ucx_info -v' output
- Added support for memory types in ucx_info
- Many bugfixes. See NEWS.
- Drop patch merged upstream:
- UCS-DEBUG-replace-PTR-with-void.patch
- gcc13-fix.patch
- Refresh openucx-s390x-support.patch
-------------------------------------------------------------------
Mon Mar 6 12:18:52 UTC 2023 - Martin Liška <mliska@suse.cz>

View File

@ -16,8 +16,11 @@
#
# Use for pulling RC versions
%define version_suf %{nil}
Name: openucx
Version: 1.13.1
Version: 1.14.0
Release: 0
Summary: Communication layer for Message Passing (MPI)
License: BSD-3-Clause
@ -26,11 +29,9 @@ URL: http://openucx.org/
#Git-Clone: git://github.com/openucx/ucx
#Git-Web: https://github.com/openucx/ucx
Source: https://github.com/openucx/ucx/releases/download/v%version/ucx-%version.tar.gz
Source: https://github.com/openucx/ucx/releases/download/v%version%{?version_suf}/ucx-%version.tar.gz
Patch1: openucx-s390x-support.patch
Patch2: ucm-fix-UCX_MEM_MALLOC_RELOC.patch
Patch3: UCS-DEBUG-replace-PTR-with-void.patch
Patch4: gcc13-fix.patch
BuildRequires: autoconf >= 2.63
BuildRequires: automake >= 1.10
BuildRequires: binutils-devel
@ -139,8 +140,6 @@ hardware.
%patch1
%endif
%patch2
%patch3
%patch4 -p1
%build
autoreconf -fi
@ -193,7 +192,8 @@ mv %buildroot/%_bindir/io_demo %buildroot/%_libexecdir/%{name}/
%_libdir/pkgconfig/ucx.pc
%dir %_libdir/cmake/
%_libdir/cmake/ucx/
%doc LICENSE NEWS
%license LICENSE
%doc NEWS
%files -n libucm0
%defattr(-,root,root)

View File

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

3
ucx-1.14.0.tar.gz Normal file
View File

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