@ -11,13 +11,27 @@
%bcond_with vfs
%bcond_with vfs
Name: ucx
Name: ucx
Version: 1.14.1
Version: 1.17.0
Release: 1%{?dist}.1
Release: 2%{?dist}
Summary: UCX is a communication library implementing high-performance messaging
Summary: UCX is a communication library implementing high-performance messaging
License: BSD
License: BSD-3-Clause AND MIT AND CC-PDDC AND (BSD-3-Clause OR Apache-2.0)
# CC-PDDC
# src/ucm/ptmalloc286/malloc-2.8.6.h
# src/ucm/ptmalloc286/malloc.c
# MIT
# src/ucs/datastruct/khash.h
# BSD-3-Clause or Apache-2.0
# src/ucs/arch/aarch64/memcpy_thunderx2.S
# BSD-3-Clause
# All other files
URL: http://www.openucx.org
URL: http://www.openucx.org
Source: https://github.com/openucx/%{name}/releases/download/v%{version}/ucx-%{version}.tar.gz
Source: https://github.com/openucx/%{name}/releases/download/v%{version}/ucx-%{version}.tar.gz
# BUILD/CONFIG: Keep CFLAGS and CXXFLAGS separate
# Fixes build for https://fedoraproject.org/wiki/Changes/PortingToModernC
Patch0: 9558.patch
Patch1: UCS-TIME-Fix-undeclared-INFINITY-error-in-ucs_time_u.patch
BuildRoot: %(mktemp -ud %{_tmppath}/%{name}-%{version}-%{release}-XXXXXX)
BuildRoot: %(mktemp -ud %{_tmppath}/%{name}-%{version}-%{release}-XXXXXX)
Prefix: %{_prefix}
Prefix: %{_prefix}
@ -70,6 +84,7 @@ addition, UCX provides efficient intra-node communication, by leveraging the
following shared memory mechanisms: posix, sysv, cma, knem, and xpmem.
following shared memory mechanisms: posix, sysv, cma, knem, and xpmem.
The acronym UCX stands for "Unified Communication X".
The acronym UCX stands for "Unified Communication X".
%if "%{_vendor}" == "suse"
%if "%{_vendor}" == "suse"
%debug_package
%debug_package
%endif
%endif
@ -83,8 +98,12 @@ Provides header files and examples for developing with UCX.
%prep
%prep
%setup -q
%setup -q
%patch -P0 -p1
%patch -P1 -p1
autoreconf -fiv
%build
%build
%define _with_arg() %{expand:%%{?with_%{1}:--with-%{2}}%%{!?with_%{1}:--without-%{2}}}
%define _with_arg() %{expand:%%{?with_%{1}:--with-%{2}}%%{!?with_%{1}:--without-%{2}}}
%define _enable_arg() %{expand:%%{?with_%{1}:--enable-%{2}}%%{!?with_%{1}:--disable-%{2}}}
%define _enable_arg() %{expand:%%{?with_%{1}:--enable-%{2}}%%{!?with_%{1}:--disable-%{2}}}
%configure --disable-optimizations \
%configure --disable-optimizations \
@ -118,6 +137,7 @@ rm -f %{buildroot}%{_libdir}/ucx/lib*.a
%{_libdir}/lib*.so.*
%{_libdir}/lib*.so.*
%{_bindir}/ucx_info
%{_bindir}/ucx_info
%{_bindir}/ucx_perftest
%{_bindir}/ucx_perftest
%{_bindir}/ucx_perftest_daemon
%{_bindir}/ucx_read_profile
%{_bindir}/ucx_read_profile
%{_bindir}/io_demo
%{_bindir}/io_demo
%{_datadir}/ucx
%{_datadir}/ucx
@ -125,16 +145,16 @@ rm -f %{buildroot}%{_libdir}/ucx/lib*.a
%doc README AUTHORS NEWS
%doc README AUTHORS NEWS
%{!?_licensedir:%global license %%doc}
%{!?_licensedir:%global license %%doc}
%license LICENSE
%license LICENSE
%{_sysconfdir}/ucx/ucx.conf
%files devel
%files devel
%{_includedir}/uc*
%{_includedir}/uc*
%{_libdir}/lib*.so
%{_libdir}/lib*.so
%{_libdir}/pkgconfig/ucx*.pc
%{_libdir}/pkgconfig/ucx*.pc
%dir %{_libdir}/cmake/ucx
%{_libdir}/cmake/ucx/*.cmake
%{_libdir}/cmake/ucx/*.cmake
%{_datadir}/ucx/examples
%{_datadir}/ucx/examples
%post -p /sbin/ldconfig
%postun -p /sbin/ldconfig
%if %{with cma}
%if %{with cma}
%package cma
%package cma
@ -147,6 +167,7 @@ system calls process_vm_readv/writev() for one-shot memory copy from another
process.
process.
%files cma
%files cma
%dir %{_libdir}/ucx
%{_libdir}/ucx/libuct_cma.so.*
%{_libdir}/ucx/libuct_cma.so.*
%endif
%endif
@ -161,6 +182,7 @@ to UCX communication routines, and transports taking advantage of GPU-Direct
technology for direct data transfer between GPU and RDMA devices.
technology for direct data transfer between GPU and RDMA devices.
%files cuda
%files cuda
%dir %{_libdir}/ucx
%{_libdir}/ucx/libucx_perftest_cuda.so.*
%{_libdir}/ucx/libucx_perftest_cuda.so.*
%{_libdir}/ucx/libucm_cuda.so.*
%{_libdir}/ucx/libucm_cuda.so.*
%{_libdir}/ucx/libuct_cuda.so.*
%{_libdir}/ucx/libuct_cuda.so.*
@ -176,6 +198,7 @@ Provide GDRCopy support for UCX. GDRCopy is a low-latency GPU memory copy
library, built on top of the NVIDIA GPUDirect RDMA technology.
library, built on top of the NVIDIA GPUDirect RDMA technology.
%files gdrcopy
%files gdrcopy
%dir %{_libdir}/ucx
%{_libdir}/ucx/libuct_cuda_gdrcopy.so.*
%{_libdir}/ucx/libuct_cuda_gdrcopy.so.*
%endif
%endif
@ -191,6 +214,7 @@ Typically these transports provide RDMA support, which enables a fast and
hardware-offloaded data transfer.
hardware-offloaded data transfer.
%files ib
%files ib
%dir %{_libdir}/ucx
%{_libdir}/ucx/libuct_ib.so.*
%{_libdir}/ucx/libuct_ib.so.*
%endif
%endif
@ -205,12 +229,14 @@ kernel module that enables high-performance intra-node MPI communication
for large messages.
for large messages.
%files knem
%files knem
%dir %{_libdir}/ucx
%{_libdir}/ucx/libuct_knem.so.*
%{_libdir}/ucx/libuct_knem.so.*
%endif
%endif
%if %{with rdmacm}
%if %{with rdmacm}
%package rdmacm
%package rdmacm
Requires: %{name}-ib%{?_isa} = %{version}-%{release}
Requires: %{name}-ib%{?_isa} = %{version}-%{release}
Requires: ucx-ib = %{version}-%{release}
Summary: UCX RDMA connection manager support
Summary: UCX RDMA connection manager support
%description rdmacm
%description rdmacm
@ -218,6 +244,7 @@ Provides RDMA connection-manager support to UCX, which enables client/server
based connection establishment for RDMA-capable transports.
based connection establishment for RDMA-capable transports.
%files rdmacm
%files rdmacm
%dir %{_libdir}/ucx
%{_libdir}/ucx/libuct_rdmacm.so.*
%{_libdir}/ucx/libuct_rdmacm.so.*
%endif
%endif
@ -230,6 +257,7 @@ Summary: UCX ROCm GPU support
Provides Radeon Open Compute (ROCm) Runtime support for UCX.
Provides Radeon Open Compute (ROCm) Runtime support for UCX.
%files rocm
%files rocm
%dir %{_libdir}/ucx
%{_libdir}/ucx/libuct_rocm.so.*
%{_libdir}/ucx/libuct_rocm.so.*
%{_libdir}/ucx/libucm_rocm.so.*
%{_libdir}/ucx/libucm_rocm.so.*
@ -239,10 +267,12 @@ Requires: %{name}-rocm%{?_isa} = %{version}-%{release}
Summary: UCX GDRCopy support for ROCM
Summary: UCX GDRCopy support for ROCM
%description rocmgdr
%description rocmgdr
Provide GDRCopy support for UCX ROCM. GDRCopy is a low-latency GPU memory copy
Provide GDRCopy support for UCX ROCM. GDRCopy is a low-latency GPU
library, built on top of the NVIDIA GPUDirect RDMA technology.
memory copy library, built on top of the NVIDIA GPUDirect RDMA
technology.
%files rocmgdr
%files rocmgdr
%dir %{_libdir}/ucx
%{_libdir}/ucx/libuct_rocm_gdr.so.*
%{_libdir}/ucx/libuct_rocm_gdr.so.*
%endif
%endif
%endif
%endif
@ -256,6 +286,7 @@ Summary: UCX Gemini/Aries transport support.
Provides Gemini/Aries transport for UCX.
Provides Gemini/Aries transport for UCX.
%files ugni
%files ugni
%dir %{_libdir}/ucx
%{_libdir}/ucx/libuct_ugni.so.*
%{_libdir}/ucx/libuct_ugni.so.*
%endif
%endif
@ -269,6 +300,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.
process to map the memory of another process into its virtual address space.
%files xpmem
%files xpmem
%dir %{_libdir}/ucx
%{_libdir}/ucx/libuct_xpmem.so.*
%{_libdir}/ucx/libuct_xpmem.so.*
%endif
%endif
@ -278,49 +310,102 @@ Requires: %{name}%{?_isa} = %{version}-%{release}
Summary: UCX Virtual Filesystem support.
Summary: UCX Virtual Filesystem support.
%description vfs
%description vfs
Provides a virtual filesystem over FUSE which allows real-time monitoring of UCX
Provides a virtual filesystem over FUSE which allows real-time
library internals, protocol objects, transports status, and more.
monitoring of UCX library internals, protocol objects, transports
status, and more.
%files vfs
%files vfs
%dir %{_libdir}/ucx
%{_libdir}/ucx/libucs_fuse.so.*
%{_libdir}/ucx/libucs_fuse.so.*
%{_bindir}/ucx_vfs
%{_bindir}/ucx_vfs
%endif
%endif
%changelog
%changelog
* Wed Jun 07 2023 Kamal Heib <kheib@redhat.com> - 1.14.1-1.1
* Fri Nov 22 2024 Kamal Heib <kheib@redhat.com> - 1.17.0-2
- Fix rpmdeps issue.
- Fix Unhandled patch file issue
- Resolves: rhbz#2170369
Resolves: RHEL-24811
* Wed Nov 13 2024 Kamal Heib <kheib@redhat.com> - 1.17.0-1
- Update to upstream release 1.17.0
Resolves: RHEL-24811
* Tue Oct 29 2024 Troy Dawson <tdawson@redhat.com> - 1.15.0-4
- Bump release for October 2024 mass rebuild:
Resolves: RHEL-64018
* Mon Jun 24 2024 Troy Dawson <tdawson@redhat.com> - 1.15.0-3
- Bump release for June 2024 mass rebuild
* Sat Jan 27 2024 Fedora Release Engineering <releng@fedoraproject.org> - 1.15.0-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild
* Sun Dec 24 2023 Benson Muite <benson_muite@emailplus.org> - 1.15.0-1
- Upgrade to new release
* Sun Dec 24 2023 Benson Muite <benson_muite@emailplus.org> - 1.14.1-5
- Add patch to separate C and C++ flags from yselkowitz
* Sat Jul 22 2023 Fedora Release Engineering <releng@fedoraproject.org> - 1.14.1-4
- Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild
* Thu Jun 22 2023 Benson Muite <benson_muite@emailplus.org> - 1.14.1-3
- Apply fix to enable building with GCC13
* Fri Jun 02 2023 Benson Muite <benson_muite@emailplus.org> - 1.14.1-2
- Remove changes in patches that have been applied
* Fri Jun 02 2023 Kamal Heib <kheib@redhat.com> - 1.14.1-1
* Fri Jun 02 2023 Kamal Heib <kheib@redhat.com> - 1.14.1-1
- Update to upstream release 1.14.1
- Update to upstream release 1.14.1
- Resolves: rhbz#2170369
* Thu Feb 02 2023 Michal Schmidt <mschmidt@redhat.com> - 1.13.1-2
* Sun Feb 19 2023 Benson Muite <benson_muite@emailplus.org> - 1.13.1-4
- Update to upstream release 1.13.1
- List additional licenses used
- Resolves: rhbz#2166780
- Remove unneeded ldconfig calls
* Sat Feb 18 2023 Benson Muite <benson_muite@emailplus.org> - 1.13.1-3
- Fix type declaration error
- Fix to enable use of GCC 13
- Use SPDX license identifier
- Fix build requires #RBZ2166925
* Sat Jan 21 2023 Fedora Release Engineering <releng@fedoraproject.org> - 1.13.1-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild
* Sat Dec 24 2022 Benson Muite <benson_muite@emailplus.org> - 1.13.1-1
- Update to upstream release 1.13.0
* Wed Aug 03 2022 Michal Schmidt <mschmidt@redhat.com> - 1.13.0-1
* Wed Aug 03 2022 Michal Schmidt <mschmidt@redhat.com> - 1.13.0-3
- Update to upstream release 1.13.0
- Update to upstream release 1.13.0
- Resolves: rhbz#2049557
- Drop autogen.sh call. Upstream tarball does not have it anymore.
* Thu Nov 18 2021 Honggang Li <honli@redhat.com> - 1.11.2-2
* Sat Jul 23 2022 Fedora Release Engineering <releng@fedoraproject.org> - 1.12.0-3
- TOOLS/INFO: Update help message for context features
- Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild
- Related: rhbz#1991185
* Sat Jan 22 2022 Fedora Release Engineering <releng@fedoraproject.org> - 1.12.0-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild
* Mon Dec 13 2021 Honggang Li <honli@redhat.com> - 1.12.0-1
- Bump version to 1.12.0
* Mon Nov 01 2021 Honggang Li <honli@redhat.com> - 1.11.2-1
* Mon Nov 01 2021 Honggang Li <honli@redhat.com> - 1.11.2-1
- Bump version to 1.11.2
- Bump version to 1.11.2
- Related: rhbz#2015402
* Tue Aug 10 2021 Mohan Boddu <mboddu@redhat.com> - 1.10.1-3
* Mon Aug 09 2021 Yurii Shestakov <yuriis@nvidia.com> 1.11.0-1
- Rebuilt for IMA sigs, glibc 2.34, aarch64 flags
- Bump version to 1.11.0
Related: rhbz#1991688
* Mon Jul 12 2021 Honggang Li <honli@redhat.com> - 1.10.1-2
* Fri Jul 23 2021 Fedora Release Engineering <releng@fedoraproject.org> - 1.10.1-3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild
* Thu May 27 2021 Yurii Shestakov <yuriis@nvidia.com> 1.10.1-2
- Bump version to 1.10.1
- Bump version to 1.10.1
- Related: rhbz#1858571
* Fri Apr 16 2021 Mohan Boddu <mboddu@redhat.com> - 1.9.0-2
* Mon Apr 26 2021 Yurii Shestakov <yuriis@nvidia.com> 1.10.1-rc1
- Rebuilt for RHEL 9 BETA on Apr 15th 2021. Related: rhbz#1947937
- Bump version to 1.10.1-rc1
* Wed Jan 27 2021 Fedora Release Engineering <releng@fedoraproject.org> - 1.9.0-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild
* Wed Nov 11 2020 Yossi Itigin <yosefe@mellanox.com> 1.10.0-1
- Make the RPM relocatable
* Mon Nov 2 2020 Orion Poplawski <orion@nwra.com> - 1.9.0-1
* Mon Nov 2 2020 Orion Poplawski <orion@nwra.com> - 1.9.0-1
- Update to 1.9.0
- Update to 1.9.0
@ -339,26 +424,37 @@ library internals, protocol objects, transports status, and more.
* Wed Jul 1 2020 Yossi Itigin <yosefe@mellanox.com> 1.8.1-1
* Wed Jul 1 2020 Yossi Itigin <yosefe@mellanox.com> 1.8.1-1
- Bump version to 1.8.1
- Bump version to 1.8.1
* Sun Sep 22 2019 Yossi Itigin <yosefe@mellanox.com> 1.8.0-1
* Sun Sep 22 2019 Yossi Itigin <yosefe@mellanox.com> 1.8.0-1
- Bump version to 1.8.0
- Bump version to 1.8.0
* Sun Mar 24 2019 Yossi Itigin <yosefe@mellanox.com> 1.7.0-1
* Sun Mar 24 2019 Yossi Itigin <yosefe@mellanox.com> 1.7.0-1
- Bump version to 1.7.0
- Bump version to 1.7.0
* Thu Jan 24 2019 Yossi Itigin <yosefe@mellanox.com> 1.6.0-1
* Thu Jan 24 2019 Yossi Itigin <yosefe@mellanox.com> 1.6.0-1
- Add cma, knem, and xpmem sub-packages
- Add cma, knem, and xpmem sub-packages
* Tue Nov 20 2018 Yossi Itigin <yosefe@mellanox.com> 1.6.0-1
* Tue Nov 20 2018 Yossi Itigin <yosefe@mellanox.com> 1.6.0-1
- Bump version to 1.6.0
- Bump version to 1.6.0
* Tue Nov 6 2018 Andrey Maslennikov <andreyma@mellanox.com> 1.5.0-1
* Tue Nov 6 2018 Andrey Maslennikov <andreyma@mellanox.com> 1.5.0-1
- Bump version to 1.5.0
- Bump version to 1.5.0
- See NEWS for details
- See NEWS for details
* Tue Oct 30 2018 Andrey Maslennikov <andreyma@mellanox.com> 1.4.0-1
* Tue Oct 30 2018 Andrey Maslennikov <andreyma@mellanox.com> 1.4.0-1
- See NEWS for details
- See NEWS for details
* Mon Aug 20 2018 Andrey Maslennikov <andreyma@mellanox.com> 1.3.1-1
* Mon Aug 20 2018 Andrey Maslennikov <andreyma@mellanox.com> 1.3.1-1
- See NEWS for details
- See NEWS for details
* Thu Aug 16 2018 Andrey Maslennikov <andreyma@mellanox.com> 1.3.0-1
* Thu Aug 16 2018 Andrey Maslennikov <andreyma@mellanox.com> 1.3.0-1
- Explicitly set gcc-c++ as requirements
- Explicitly set gcc-c++ as requirements
* Wed Mar 7 2018 Andrey Maslennikov <andreyma@mellanox.com> 1.3.0-1
* Wed Mar 7 2018 Andrey Maslennikov <andreyma@mellanox.com> 1.3.0-1
- See NEWS for details
- See NEWS for details
* Mon Aug 21 2017 Andrey Maslennikov <andreyma@mellanox.com> 1.2.1-1
* Mon Aug 21 2017 Andrey Maslennikov <andreyma@mellanox.com> 1.2.1-1
- Spec file now complies with Fedora guidelines
- Spec file now complies with Fedora guidelines
* Mon Jul 3 2017 Andrey Maslennikov <andreyma@mellanox.com> 1.2.0-1
* Mon Jul 3 2017 Andrey Maslennikov <andreyma@mellanox.com> 1.2.0-1
- Fedora package created
- Fedora package created