|
|
|
@ -13,23 +13,29 @@
|
|
|
|
|
%bcond_with rocm
|
|
|
|
|
%bcond_with ugni
|
|
|
|
|
%bcond_with xpmem
|
|
|
|
|
%bcond_with java
|
|
|
|
|
|
|
|
|
|
Name: ucx
|
|
|
|
|
Version: 1.8.0
|
|
|
|
|
Version: 1.9.0
|
|
|
|
|
Release: 1%{?dist}
|
|
|
|
|
Summary: UCX is a communication library implementing high-performance messaging
|
|
|
|
|
Group: System Environment/Libraries
|
|
|
|
|
|
|
|
|
|
License: BSD
|
|
|
|
|
URL: http://www.openucx.org
|
|
|
|
|
Source: https://github.com/openucx/%{name}/releases/download/v1.8.0/ucx-1.8.0.tar.gz
|
|
|
|
|
Source: https://github.com/openucx/%{name}/releases/download/v%{version}/ucx-%{version}.tar.gz
|
|
|
|
|
Patch: ucx-config.patch
|
|
|
|
|
# This avoids a false positive from gcc-11 by making the problematic
|
|
|
|
|
# pointer volatile rather than disabling the warning completely
|
|
|
|
|
Patch1: %{name}-gcc11.patch
|
|
|
|
|
|
|
|
|
|
BuildRoot: %(mktemp -ud %{_tmppath}/%{name}-%{version}-%{release}-XXXXXX)
|
|
|
|
|
|
|
|
|
|
# UCX currently supports only the following architectures
|
|
|
|
|
ExclusiveArch: aarch64 ppc64le x86_64
|
|
|
|
|
|
|
|
|
|
%if %{defined extra_deps}
|
|
|
|
|
Requires: %{?extra_deps}
|
|
|
|
|
%endif
|
|
|
|
|
|
|
|
|
|
BuildRequires: automake autoconf libtool gcc-c++
|
|
|
|
|
%if "%{_vendor}" == "suse"
|
|
|
|
|
BuildRequires: libnuma-devel
|
|
|
|
@ -60,9 +66,6 @@ BuildRequires: hsa-rocr-dev
|
|
|
|
|
%if %{with xpmem}
|
|
|
|
|
BuildRequires: xpmem-devel
|
|
|
|
|
%endif
|
|
|
|
|
%if %{with java}
|
|
|
|
|
BuildRequires: maven
|
|
|
|
|
%endif
|
|
|
|
|
|
|
|
|
|
%description
|
|
|
|
|
UCX stands for Unified Communication X. UCX provides an optimized communication
|
|
|
|
@ -73,7 +76,7 @@ available, TCP is used instead. UCX supports efficient transfer of data in
|
|
|
|
|
either main memory (RAM) or GPU memory (through CUDA and ROCm libraries).
|
|
|
|
|
In addition, UCX provides efficient intra-node communication, by leveraging the
|
|
|
|
|
following shared memory mechanisms: posix, sysv, cma, knem, and xpmem.
|
|
|
|
|
This package was built from '' branch, commit c30b7da.
|
|
|
|
|
This package was built from '' branch, commit 6b29558.
|
|
|
|
|
|
|
|
|
|
%if "%{_vendor}" == "suse"
|
|
|
|
|
%debug_package
|
|
|
|
@ -82,13 +85,14 @@ This package was built from '' branch, commit c30b7da.
|
|
|
|
|
%package devel
|
|
|
|
|
Requires: %{name}%{?_isa} = %{version}-%{release}
|
|
|
|
|
Summary: Header files required for developing with UCX
|
|
|
|
|
Group: Development/Libraries
|
|
|
|
|
|
|
|
|
|
%description devel
|
|
|
|
|
Provides header files and examples for developing with UCX.
|
|
|
|
|
|
|
|
|
|
%prep
|
|
|
|
|
%setup -q
|
|
|
|
|
%patch -p1
|
|
|
|
|
%patch1 -p1
|
|
|
|
|
|
|
|
|
|
%build
|
|
|
|
|
%define _with_arg() %{expand:%%{?with_%{1}:--with-%{2}}%%{!?with_%{1}:--without-%{2}}}
|
|
|
|
@ -98,6 +102,8 @@ Provides header files and examples for developing with UCX.
|
|
|
|
|
--disable-debug \
|
|
|
|
|
--disable-assertions \
|
|
|
|
|
--disable-params-check \
|
|
|
|
|
--enable-examples \
|
|
|
|
|
--without-java \
|
|
|
|
|
%_enable_arg cma cma \
|
|
|
|
|
%_with_arg cuda cuda \
|
|
|
|
|
%_with_arg gdrcopy gdrcopy \
|
|
|
|
@ -108,7 +114,6 @@ Provides header files and examples for developing with UCX.
|
|
|
|
|
%_with_arg rocm rocm \
|
|
|
|
|
%_with_arg xpmem xpmem \
|
|
|
|
|
%_with_arg ugni ugni \
|
|
|
|
|
%_with_arg java java \
|
|
|
|
|
%{?configure_options}
|
|
|
|
|
make %{?_smp_mflags} V=1
|
|
|
|
|
|
|
|
|
@ -142,7 +147,6 @@ rm -f %{buildroot}%{_libdir}/ucx/lib*.a
|
|
|
|
|
%package cma
|
|
|
|
|
Requires: %{name}%{?_isa} = %{version}-%{release}
|
|
|
|
|
Summary: UCX CMA support
|
|
|
|
|
Group: System Environment/Libraries
|
|
|
|
|
|
|
|
|
|
%description cma
|
|
|
|
|
Provides CMA (Linux cross-memory-attach) transport for UCX. It utilizes the
|
|
|
|
@ -157,7 +161,6 @@ process.
|
|
|
|
|
%package cuda
|
|
|
|
|
Requires: %{name}%{?_isa} = %{version}-%{release}
|
|
|
|
|
Summary: UCX CUDA support
|
|
|
|
|
Group: System Environment/Libraries
|
|
|
|
|
|
|
|
|
|
%description cuda
|
|
|
|
|
Provide CUDA (NVIDIA GPU) support for UCX. Enables passing GPU memory pointers
|
|
|
|
@ -174,7 +177,6 @@ technology for direct data transfer between GPU and RDMA devices.
|
|
|
|
|
%package gdrcopy
|
|
|
|
|
Requires: %{name}-cuda%{?_isa} = %{version}-%{release}
|
|
|
|
|
Summary: UCX GDRCopy support
|
|
|
|
|
Group: System Environment/Libraries
|
|
|
|
|
|
|
|
|
|
%description gdrcopy
|
|
|
|
|
Provide GDRCopy support for UCX. GDRCopy is a low-latency GPU memory copy
|
|
|
|
@ -188,7 +190,6 @@ library, built on top of the NVIDIA GPUDirect RDMA technology.
|
|
|
|
|
%package ib
|
|
|
|
|
Requires: %{name}%{?_isa} = %{version}-%{release}
|
|
|
|
|
Summary: UCX RDMA support
|
|
|
|
|
Group: System Environment/Libraries
|
|
|
|
|
|
|
|
|
|
%description ib
|
|
|
|
|
Provides support for IBTA-compliant transports for UCX. This includes RoCE,
|
|
|
|
@ -204,7 +205,6 @@ hardware-offloaded data transfer.
|
|
|
|
|
%package ib-cm
|
|
|
|
|
Requires: %{name}-ib%{?_isa} = %{version}-%{release}
|
|
|
|
|
Summary: UCX InfiniBand connection-manager support
|
|
|
|
|
Group: System Environment/Libraries
|
|
|
|
|
|
|
|
|
|
%description ib-cm
|
|
|
|
|
Provides Infiniband Connection Manager (also known as ibcm) support for UCX.
|
|
|
|
@ -217,7 +217,6 @@ Provides Infiniband Connection Manager (also known as ibcm) support for UCX.
|
|
|
|
|
%package knem
|
|
|
|
|
Requires: %{name}%{?_isa} = %{version}-%{release}
|
|
|
|
|
Summary: UCX KNEM transport support
|
|
|
|
|
Group: System Environment/Libraries
|
|
|
|
|
|
|
|
|
|
%description knem
|
|
|
|
|
Provides KNEM (fast inter-process copy) transport for UCX. KNEM is a Linux
|
|
|
|
@ -232,7 +231,6 @@ for large messages.
|
|
|
|
|
%package rdmacm
|
|
|
|
|
Requires: %{name}%{?_isa} = %{version}-%{release}
|
|
|
|
|
Summary: UCX RDMA connection manager support
|
|
|
|
|
Group: System Environment/Libraries
|
|
|
|
|
|
|
|
|
|
%description rdmacm
|
|
|
|
|
Provides RDMA connection-manager support to UCX, which enables client/server
|
|
|
|
@ -246,7 +244,6 @@ based connection establishment for RDMA-capable transports.
|
|
|
|
|
%package rocm
|
|
|
|
|
Requires: %{name}%{?_isa} = %{version}-%{release}
|
|
|
|
|
Summary: UCX ROCm GPU support
|
|
|
|
|
Group: System Environment/Libraries
|
|
|
|
|
|
|
|
|
|
%description rocm
|
|
|
|
|
Provides Radeon Open Compute (ROCm) Runtime support for UCX.
|
|
|
|
@ -259,7 +256,6 @@ Provides Radeon Open Compute (ROCm) Runtime support for UCX.
|
|
|
|
|
%package rocmgdr
|
|
|
|
|
Requires: %{name}-rocm%{?_isa} = %{version}-%{release}
|
|
|
|
|
Summary: UCX GDRCopy support for ROCM
|
|
|
|
|
Group: System Environment/Libraries
|
|
|
|
|
|
|
|
|
|
%description rocmgdr
|
|
|
|
|
Provide GDRCopy support for UCX ROCM. GDRCopy is a low-latency GPU memory copy
|
|
|
|
@ -274,7 +270,6 @@ library, built on top of the NVIDIA GPUDirect RDMA technology.
|
|
|
|
|
%package ugni
|
|
|
|
|
Requires: %{name}%{?_isa} = %{version}-%{release}
|
|
|
|
|
Summary: UCX Gemini/Aries transport support.
|
|
|
|
|
Group: System Environment/Libraries
|
|
|
|
|
|
|
|
|
|
%description ugni
|
|
|
|
|
Provides Gemini/Aries transport for UCX.
|
|
|
|
@ -287,7 +282,6 @@ Provides Gemini/Aries transport for UCX.
|
|
|
|
|
%package xpmem
|
|
|
|
|
Requires: %{name}%{?_isa} = %{version}-%{release}
|
|
|
|
|
Summary: UCX XPMEM transport support.
|
|
|
|
|
Group: System Environment/Libraries
|
|
|
|
|
|
|
|
|
|
%description xpmem
|
|
|
|
|
Provides XPMEM transport for UCX. XPMEM is a Linux kernel module that enables a
|
|
|
|
@ -297,20 +291,25 @@ process to map the memory of another process into its virtual address space.
|
|
|
|
|
%{_libdir}/ucx/libuct_xpmem.so.*
|
|
|
|
|
%endif
|
|
|
|
|
|
|
|
|
|
%if %{with java}
|
|
|
|
|
%package java
|
|
|
|
|
Requires: %{name}%{?_isa} = %{version}-%{release}
|
|
|
|
|
Summary: UCX Java bindings
|
|
|
|
|
Group: System Environment/Libraries
|
|
|
|
|
|
|
|
|
|
%description java
|
|
|
|
|
Provides java bindings for UCX.
|
|
|
|
|
|
|
|
|
|
%files java
|
|
|
|
|
%{_libdir}/jucx-*.jar
|
|
|
|
|
%endif
|
|
|
|
|
|
|
|
|
|
%changelog
|
|
|
|
|
* Mon Nov 2 2020 Orion Poplawski <orion@nwra.com> - 1.9.0-1
|
|
|
|
|
- Update to 1.9.0
|
|
|
|
|
|
|
|
|
|
* Fri Oct 30 2020 Jeff Law <law@redhat.com> 1.8.1-5
|
|
|
|
|
- Adjust workaround for gcc-11 diagnostic to narrow its scope
|
|
|
|
|
|
|
|
|
|
* Thu Oct 29 2020 Jeff Law <law@redhat.com> 1.8.1-4
|
|
|
|
|
- Disable -Warray-bounds diagnostics for gcc-11
|
|
|
|
|
|
|
|
|
|
* Wed Jul 29 2020 Fedora Release Engineering <releng@fedoraproject.org> - 1.8.1-3
|
|
|
|
|
- Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild
|
|
|
|
|
|
|
|
|
|
* Mon Jul 20 2020 Jeff Law <law@redhat.com> 1.8.1-2
|
|
|
|
|
- Fix broken configure files compromised by LTO
|
|
|
|
|
|
|
|
|
|
* Wed Jul 1 2020 Yossi Itigin <yosefe@mellanox.com> 1.8.1-1
|
|
|
|
|
- Bump version to 1.8.1
|
|
|
|
|
* Sun Sep 22 2019 Yossi Itigin <yosefe@mellanox.com> 1.8.0-1
|
|
|
|
|
- Bump version to 1.8.0
|
|
|
|
|
* Sun Mar 24 2019 Yossi Itigin <yosefe@mellanox.com> 1.7.0-1
|
|
|
|
|