import ucx-1.9.0-1.el8

This commit is contained in:
CentOS Sources 2021-05-18 02:39:00 -04:00 committed by Andrew Lukoshko
parent c4278b1263
commit b733119e74
5 changed files with 82 additions and 35 deletions

2
.gitignore vendored
View File

@ -1 +1 @@
SOURCES/ucx-1.8.0.tar.gz SOURCES/ucx-1.9.0.tar.gz

View File

@ -1 +1 @@
96f2fe1918127edadcf5b195b6532da1da3a74fa SOURCES/ucx-1.8.0.tar.gz 578c6064f9913bcf15f9b03569187ed547e30d8b SOURCES/ucx-1.9.0.tar.gz

35
SOURCES/ucx-config.patch Normal file
View File

@ -0,0 +1,35 @@
diff --git a/config/m4/sysdep.m4 b/config/m4/sysdep.m4
index b1e5485..0133803 100644
--- a/config/m4/sysdep.m4
+++ b/config/m4/sysdep.m4
@@ -158,7 +158,7 @@ AC_MSG_CHECKING([malloc hooks])
SAVE_CFLAGS=$CFLAGS
CFLAGS="$CFLAGS $CFLAGS_NO_DEPRECATED"
CHECK_CROSS_COMP([AC_LANG_SOURCE([#include <malloc.h>
- static int rc = 1;
+ static volatile int rc = 1;
void *ptr;
void *myhook(size_t size, const void *caller) {
rc = 0;
diff --git a/configure b/configure
index db54a6a..fa4352d 100755
--- a/configure
+++ b/configure
@@ -22221,7 +22221,7 @@ CFLAGS="$CFLAGS $CFLAGS_NO_DEPRECATED"
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
#include <malloc.h>
- static int rc = 1;
+ volatile static int rc = 1;
void *ptr;
void *myhook(size_t size, const void *caller) {
rc = 0;
@@ -22252,7 +22252,7 @@ else
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
#include <malloc.h>
- static int rc = 1;
+ volatile static int rc = 1;
void *ptr;
void *myhook(size_t size, const void *caller) {
rc = 0;

13
SOURCES/ucx-gcc11.patch Normal file
View File

@ -0,0 +1,13 @@
diff --git a/src/ucs/datastruct/mpool.inl b/src/ucs/datastruct/mpool.inl
index d06e2f9..6b32406 100644
--- a/src/ucs/datastruct/mpool.inl
+++ b/src/ucs/datastruct/mpool.inl
@@ -71,7 +71,7 @@ static inline ucs_mpool_t *ucs_mpool_obj_owner(void *obj)
static inline void ucs_mpool_put_inline(void *obj)
{
- ucs_mpool_elem_t *elem;
+ ucs_mpool_elem_t * volatile elem;
ucs_mpool_t *mp;
elem = ucs_mpool_obj_to_elem(obj);

View File

@ -13,23 +13,29 @@
%bcond_with rocm %bcond_with rocm
%bcond_with ugni %bcond_with ugni
%bcond_with xpmem %bcond_with xpmem
%bcond_with java
Name: ucx Name: ucx
Version: 1.8.0 Version: 1.9.0
Release: 1%{?dist} Release: 1%{?dist}
Summary: UCX is a communication library implementing high-performance messaging Summary: UCX is a communication library implementing high-performance messaging
Group: System Environment/Libraries
License: BSD License: BSD
URL: http://www.openucx.org 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) BuildRoot: %(mktemp -ud %{_tmppath}/%{name}-%{version}-%{release}-XXXXXX)
# UCX currently supports only the following architectures # UCX currently supports only the following architectures
ExclusiveArch: aarch64 ppc64le x86_64 ExclusiveArch: aarch64 ppc64le x86_64
%if %{defined extra_deps}
Requires: %{?extra_deps}
%endif
BuildRequires: automake autoconf libtool gcc-c++ BuildRequires: automake autoconf libtool gcc-c++
%if "%{_vendor}" == "suse" %if "%{_vendor}" == "suse"
BuildRequires: libnuma-devel BuildRequires: libnuma-devel
@ -60,9 +66,6 @@ BuildRequires: hsa-rocr-dev
%if %{with xpmem} %if %{with xpmem}
BuildRequires: xpmem-devel BuildRequires: xpmem-devel
%endif %endif
%if %{with java}
BuildRequires: maven
%endif
%description %description
UCX stands for Unified Communication X. UCX provides an optimized communication 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). either main memory (RAM) or GPU memory (through CUDA and ROCm libraries).
In addition, UCX provides efficient intra-node communication, by leveraging the In 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.
This package was built from '' branch, commit c30b7da. This package was built from '' branch, commit 6b29558.
%if "%{_vendor}" == "suse" %if "%{_vendor}" == "suse"
%debug_package %debug_package
@ -82,13 +85,14 @@ This package was built from '' branch, commit c30b7da.
%package devel %package devel
Requires: %{name}%{?_isa} = %{version}-%{release} Requires: %{name}%{?_isa} = %{version}-%{release}
Summary: Header files required for developing with UCX Summary: Header files required for developing with UCX
Group: Development/Libraries
%description devel %description devel
Provides header files and examples for developing with UCX. Provides header files and examples for developing with UCX.
%prep %prep
%setup -q %setup -q
%patch -p1
%patch1 -p1
%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}}}
@ -98,6 +102,8 @@ Provides header files and examples for developing with UCX.
--disable-debug \ --disable-debug \
--disable-assertions \ --disable-assertions \
--disable-params-check \ --disable-params-check \
--enable-examples \
--without-java \
%_enable_arg cma cma \ %_enable_arg cma cma \
%_with_arg cuda cuda \ %_with_arg cuda cuda \
%_with_arg gdrcopy gdrcopy \ %_with_arg gdrcopy gdrcopy \
@ -108,7 +114,6 @@ Provides header files and examples for developing with UCX.
%_with_arg rocm rocm \ %_with_arg rocm rocm \
%_with_arg xpmem xpmem \ %_with_arg xpmem xpmem \
%_with_arg ugni ugni \ %_with_arg ugni ugni \
%_with_arg java java \
%{?configure_options} %{?configure_options}
make %{?_smp_mflags} V=1 make %{?_smp_mflags} V=1
@ -142,7 +147,6 @@ rm -f %{buildroot}%{_libdir}/ucx/lib*.a
%package cma %package cma
Requires: %{name}%{?_isa} = %{version}-%{release} Requires: %{name}%{?_isa} = %{version}-%{release}
Summary: UCX CMA support Summary: UCX CMA support
Group: System Environment/Libraries
%description cma %description cma
Provides CMA (Linux cross-memory-attach) transport for UCX. It utilizes the Provides CMA (Linux cross-memory-attach) transport for UCX. It utilizes the
@ -157,7 +161,6 @@ process.
%package cuda %package cuda
Requires: %{name}%{?_isa} = %{version}-%{release} Requires: %{name}%{?_isa} = %{version}-%{release}
Summary: UCX CUDA support Summary: UCX CUDA support
Group: System Environment/Libraries
%description cuda %description cuda
Provide CUDA (NVIDIA GPU) support for UCX. Enables passing GPU memory pointers 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 %package gdrcopy
Requires: %{name}-cuda%{?_isa} = %{version}-%{release} Requires: %{name}-cuda%{?_isa} = %{version}-%{release}
Summary: UCX GDRCopy support Summary: UCX GDRCopy support
Group: System Environment/Libraries
%description gdrcopy %description gdrcopy
Provide GDRCopy support for UCX. GDRCopy is a low-latency GPU memory copy 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 %package ib
Requires: %{name}%{?_isa} = %{version}-%{release} Requires: %{name}%{?_isa} = %{version}-%{release}
Summary: UCX RDMA support Summary: UCX RDMA support
Group: System Environment/Libraries
%description ib %description ib
Provides support for IBTA-compliant transports for UCX. This includes RoCE, Provides support for IBTA-compliant transports for UCX. This includes RoCE,
@ -204,7 +205,6 @@ hardware-offloaded data transfer.
%package ib-cm %package ib-cm
Requires: %{name}-ib%{?_isa} = %{version}-%{release} Requires: %{name}-ib%{?_isa} = %{version}-%{release}
Summary: UCX InfiniBand connection-manager support Summary: UCX InfiniBand connection-manager support
Group: System Environment/Libraries
%description ib-cm %description ib-cm
Provides Infiniband Connection Manager (also known as ibcm) support for UCX. 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 %package knem
Requires: %{name}%{?_isa} = %{version}-%{release} Requires: %{name}%{?_isa} = %{version}-%{release}
Summary: UCX KNEM transport support Summary: UCX KNEM transport support
Group: System Environment/Libraries
%description knem %description knem
Provides KNEM (fast inter-process copy) transport for UCX. KNEM is a Linux Provides KNEM (fast inter-process copy) transport for UCX. KNEM is a Linux
@ -232,7 +231,6 @@ for large messages.
%package rdmacm %package rdmacm
Requires: %{name}%{?_isa} = %{version}-%{release} Requires: %{name}%{?_isa} = %{version}-%{release}
Summary: UCX RDMA connection manager support Summary: UCX RDMA connection manager support
Group: System Environment/Libraries
%description rdmacm %description rdmacm
Provides RDMA connection-manager support to UCX, which enables client/server Provides RDMA connection-manager support to UCX, which enables client/server
@ -246,7 +244,6 @@ based connection establishment for RDMA-capable transports.
%package rocm %package rocm
Requires: %{name}%{?_isa} = %{version}-%{release} Requires: %{name}%{?_isa} = %{version}-%{release}
Summary: UCX ROCm GPU support Summary: UCX ROCm GPU support
Group: System Environment/Libraries
%description rocm %description rocm
Provides Radeon Open Compute (ROCm) Runtime support for UCX. Provides Radeon Open Compute (ROCm) Runtime support for UCX.
@ -259,7 +256,6 @@ Provides Radeon Open Compute (ROCm) Runtime support for UCX.
%package rocmgdr %package rocmgdr
Requires: %{name}-rocm%{?_isa} = %{version}-%{release} Requires: %{name}-rocm%{?_isa} = %{version}-%{release}
Summary: UCX GDRCopy support for ROCM Summary: UCX GDRCopy support for ROCM
Group: System Environment/Libraries
%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 memory copy
@ -274,7 +270,6 @@ library, built on top of the NVIDIA GPUDirect RDMA technology.
%package ugni %package ugni
Requires: %{name}%{?_isa} = %{version}-%{release} Requires: %{name}%{?_isa} = %{version}-%{release}
Summary: UCX Gemini/Aries transport support. Summary: UCX Gemini/Aries transport support.
Group: System Environment/Libraries
%description ugni %description ugni
Provides Gemini/Aries transport for UCX. Provides Gemini/Aries transport for UCX.
@ -287,7 +282,6 @@ Provides Gemini/Aries transport for UCX.
%package xpmem %package xpmem
Requires: %{name}%{?_isa} = %{version}-%{release} Requires: %{name}%{?_isa} = %{version}-%{release}
Summary: UCX XPMEM transport support. Summary: UCX XPMEM transport support.
Group: System Environment/Libraries
%description xpmem %description xpmem
Provides XPMEM transport for UCX. XPMEM is a Linux kernel module that enables a 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.* %{_libdir}/ucx/libuct_xpmem.so.*
%endif %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 %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 * 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