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 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