From 35b76d8352f28707a1f7104a07f29da557b9eeb3 Mon Sep 17 00:00:00 2001 From: Kamal Heib Date: Wed, 9 Jul 2025 10:07:28 -0400 Subject: [PATCH] Update to upstream release 1.18.1 Resolves: RHEL-94447 Signed-off-by: Kamal Heib --- .gitignore | 1 + ...eclared-INFINITY-error-in-ucs_time_u.patch | 29 --------- sources | 2 +- ucx.spec | 62 +++++++++++++++++-- 4 files changed, 59 insertions(+), 35 deletions(-) delete mode 100644 UCS-TIME-Fix-undeclared-INFINITY-error-in-ucs_time_u.patch diff --git a/.gitignore b/.gitignore index f9975eb..573fcd4 100644 --- a/.gitignore +++ b/.gitignore @@ -17,3 +17,4 @@ /ucx-1.15.0.tar.gz /ucx-1.16.0.tar.gz /ucx-1.17.0.tar.gz +/ucx-1.18.1.tar.gz diff --git a/UCS-TIME-Fix-undeclared-INFINITY-error-in-ucs_time_u.patch b/UCS-TIME-Fix-undeclared-INFINITY-error-in-ucs_time_u.patch deleted file mode 100644 index f6dd8de..0000000 --- a/UCS-TIME-Fix-undeclared-INFINITY-error-in-ucs_time_u.patch +++ /dev/null @@ -1,29 +0,0 @@ -From b0a275a5492125a13020cd095fe9934e0b5e7c6a Mon Sep 17 00:00:00 2001 -From: Aboorva Devarajan -Date: Wed, 19 Jun 2024 13:47:14 -0400 -Subject: [PATCH] UCS/TIME: Fix undeclared INFINITY error in - ucs_time_units_to_sec() - -Included in ucs_time_units_to_sec() to resolve compilation -errors due to missing INFINITY constant. - -Signed-off-by: Aboorva Devarajan ---- - src/ucs/time/time.h | 1 + - 1 file changed, 1 insertion(+) - -diff --git a/src/ucs/time/time.h b/src/ucs/time/time.h -index cff9810cdad8..c51362273f8d 100644 ---- a/src/ucs/time/time.h -+++ b/src/ucs/time/time.h -@@ -11,6 +11,7 @@ - #include - #include - #include -+#include - - BEGIN_C_DECLS - --- -2.47.0 - diff --git a/sources b/sources index 9299f72..436d0be 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (ucx-1.17.0.tar.gz) = 1033959bd223d1b4507b2a159e6ce65e76c1c5f231afc166bb0ed2e5c6c4aaa3db96b7c35c97c8b332e6e11f4ab24deb66d484009b7dc2af52b73981c1e72a25 +SHA512 (ucx-1.18.1.tar.gz) = bcab4a93c1fbf154275c6cdedfc981600cbac43d850f70e2cbfa0dfc73160be8808442acb86154ea964aaea0364aa9a37c41f4c643fa143f54e9d238b13820c7 diff --git a/ucx.spec b/ucx.spec index 571eaf3..7e9ab9e 100644 --- a/ucx.spec +++ b/ucx.spec @@ -9,16 +9,17 @@ %bcond_with ugni %bcond_with xpmem %bcond_with vfs +%bcond_with mad +%bcond_without mlx5 Name: ucx -Version: 1.17.0 -Release: 2%{?dist} +Version: 1.18.1 +Release: 1%{?dist} Summary: UCX is a communication library implementing high-performance messaging License: BSD URL: http://www.openucx.org Source: https://github.com/openucx/%{name}/releases/download/v%{version}/ucx-%{version}.tar.gz -Patch0: UCS-TIME-Fix-undeclared-INFINITY-error-in-ucs_time_u.patch BuildRoot: %(mktemp -ud %{_tmppath}/%{name}-%{version}-%{release}-XXXXXX) Prefix: %{_prefix} @@ -45,6 +46,9 @@ BuildRequires: gdrcopy %if %{with ib} BuildRequires: libibverbs-devel %endif +%if %{with mlx5} +BuildRequires: rdma-core-devel +%endif %if %{with knem} BuildRequires: knem %endif @@ -60,6 +64,9 @@ BuildRequires: xpmem-devel %if %{with vfs} BuildRequires: fuse3-devel %endif +%if %{with mad} +BuildRequires: libibmad-devel libibumad-devel +%endif %description UCX is an optimized communication framework for high-performance distributed @@ -84,8 +91,7 @@ Provides header files and examples for developing with UCX. %prep %setup -q - -%patch -P0 -p1 +autoreconf -fiv %build %define _with_arg() %{expand:%%{?with_%{1}:--with-%{2}}%%{!?with_%{1}:--without-%{2}}} @@ -100,12 +106,14 @@ Provides header files and examples for developing with UCX. %_with_arg cuda cuda \ %_with_arg gdrcopy gdrcopy \ %_with_arg ib verbs \ + %_with_arg mlx5 mlx5 \ %_with_arg knem knem \ %_with_arg rdmacm rdmacm \ %_with_arg rocm rocm \ %_with_arg xpmem xpmem \ %_with_arg vfs fuse3 \ %_with_arg ugni ugni \ + %_with_arg mad mad \ %{?configure_options} make %{?_smp_mflags} V=1 @@ -135,6 +143,7 @@ rm -f %{buildroot}%{_libdir}/ucx/lib*.a %{_includedir}/uc* %{_libdir}/lib*.so %{_libdir}/pkgconfig/ucx*.pc +%dir %{_libdir}/cmake/ucx %{_libdir}/cmake/ucx/*.cmake %{_datadir}/ucx/examples @@ -152,6 +161,7 @@ system calls process_vm_readv/writev() for one-shot memory copy from another process. %files cma +%dir %{_libdir}/ucx %{_libdir}/ucx/libuct_cma.so.* %endif @@ -166,6 +176,7 @@ to UCX communication routines, and transports taking advantage of GPU-Direct technology for direct data transfer between GPU and RDMA devices. %files cuda +%dir %{_libdir}/ucx %{_libdir}/ucx/libucx_perftest_cuda.so.* %{_libdir}/ucx/libucm_cuda.so.* %{_libdir}/ucx/libuct_cuda.so.* @@ -181,6 +192,7 @@ Provide GDRCopy support for UCX. GDRCopy is a low-latency GPU memory copy library, built on top of the NVIDIA GPUDirect RDMA technology. %files gdrcopy +%dir %{_libdir}/ucx %{_libdir}/ucx/libuct_cuda_gdrcopy.so.* %endif @@ -196,6 +208,7 @@ Typically these transports provide RDMA support, which enables a fast and hardware-offloaded data transfer. %files ib +%dir %{_libdir}/ucx %{_libdir}/ucx/libuct_ib.so.* %endif @@ -210,6 +223,7 @@ kernel module that enables high-performance intra-node MPI communication for large messages. %files knem +%dir %{_libdir}/ucx %{_libdir}/ucx/libuct_knem.so.* %endif @@ -224,6 +238,7 @@ Provides RDMA connection-manager support to UCX, which enables client/server based connection establishment for RDMA-capable transports. %files rdmacm +%dir %{_libdir}/ucx %{_libdir}/ucx/libuct_rdmacm.so.* %endif @@ -236,6 +251,7 @@ Summary: UCX ROCm GPU support Provides Radeon Open Compute (ROCm) Runtime support for UCX. %files rocm +%dir %{_libdir}/ucx %{_libdir}/ucx/libuct_rocm.so.* %{_libdir}/ucx/libucm_rocm.so.* @@ -249,6 +265,7 @@ Provide GDRCopy support for UCX ROCM. GDRCopy is a low-latency GPU memory copy library, built on top of the NVIDIA GPUDirect RDMA technology. %files rocmgdr +%dir %{_libdir}/ucx %{_libdir}/ucx/libuct_rocm_gdr.so.* %endif %endif @@ -262,6 +279,7 @@ Summary: UCX Gemini/Aries transport support. Provides Gemini/Aries transport for UCX. %files ugni +%dir %{_libdir}/ucx %{_libdir}/ucx/libuct_ugni.so.* %endif @@ -275,6 +293,7 @@ Provides XPMEM transport for UCX. XPMEM is a Linux kernel module that enables a process to map the memory of another process into its virtual address space. %files xpmem +%dir %{_libdir}/ucx %{_libdir}/ucx/libuct_xpmem.so.* %endif @@ -292,7 +311,40 @@ library internals, protocol objects, transports status, and more. %{_bindir}/ucx_vfs %endif +%if %{with mlx5} +%package ib-mlx5 +Requires: %{name}%{?_isa} = %{version}-%{release} +Requires: ucx-ib = %{version}-%{release} +Summary: UCX IB MLX5 RDMA provider support +Group: System Environment/Libraries + +%description ib-mlx5 +Provides support for DevX, Direct Verbs and DC transports for Infiniband +devices. + +%files ib-mlx5 +%{_libdir}/ucx/libuct_ib_mlx5.so.* +%endif + +%if %{with mad} +%package mad +Requires: %{name}%{?_isa} = %{version}-%{release} +Summary: UCX Infiniband MAD support +Group: System Environment/Libraries + +%description mad +Provide Infiniband MAD support for UCX. Enables running perftest using +Infiniband datagrams for out-of-band communications. + +%files mad +%{_libdir}/ucx/libucx_perftest_mad.so.* +%endif + %changelog +* Wed Jul 09 2025 Kamal Heib - 1.18.1-1 +- Update to upstream release 1.18.1 +- Resolves: RHEL-94447 + * Wed Nov 06 2024 Kamal Heib - 1.17.0-2 - Fix build for ppc64le - Resolves: RHEL-52883