Accepting request 733589 from home:NMoreyChaisemartin:branches:science:HPC

- Update to v1.6.0
  - Features:
    - Modular architecture for UCT transports
    - ROCm transport re-design: support for managed memory, direct copy, ROCm GDR
    - Random scheduling policy for DC transport
    - Optimized out-of-box settings for multi-rail
    - Added support for OmniPath (using Verbs)
    - Support for PCI atomics with IB transports
    - Reduced UCP address size for homogeneous environments
  - Bugfixes:
    - Multiple stability and performance improvements in TCP transport
    - Multiple stability fixed in Verbs and MLX5 transports
    - Multiple stability fixes in UCM memory hooks
    - Multiple stability fixes in UGNI transport
    - RPM Spec file cleanup
    - Fixing compilation issues with most recent clang and gcc compilers
    - Fixing the wrong name of aliases
    - Fix data race in UCP wireup
    - Fix segfault when libuct.so is reloaded - issue #3558
    - Include Java sources in distribution
    - Handle EADDRNOTAVAIL in rdma_cm connection manager
    - Disable ibcm on RHEL7+ by default
    - Fix data race in UCP proxy endpoint
    - Static checker fixes
    - Fallback to ibv_create_cq() if ibv_create_cq_ex() returns ENOSYS
    - Fix malloc hooks test
    - Fix checking return status in ucp_client_server example
    - Fix gdrcopy libdir config value
    - Fix printing atomic capabilities in ucx_info
    - Fix perftest warmup iterations to be non-zero

OBS-URL: https://build.opensuse.org/request/show/733589
OBS-URL: https://build.opensuse.org/package/show/science:HPC/openucx?expand=0&rev=33
This commit is contained in:
Nicolas Morey-Chaisemartin 2019-09-27 08:19:55 +00:00 committed by Git OBS Bridge
parent 47949112e3
commit de6138b03e
5 changed files with 78 additions and 25 deletions

View File

@ -1,4 +1,4 @@
commit 621654abd1ca34a407d8033991659c45d42c3a4e
commit 7efd75794d17351fbcfdd2759fc9abf22af0d631
Author: Nicolas Morey-Chaisemartin <nmoreychaisemartin@suse.com>
Date: Thu Aug 9 07:41:24 2018 +0200
@ -7,35 +7,36 @@ Date: Thu Aug 9 07:41:24 2018 +0200
Signed-off-by: Nicolas Morey-Chaisemartin <nmoreychaisemartin@suse.com>
diff --git config/m4/ucm.m4 config/m4/ucm.m4
index 541bdb1322ce..4f89f6e02860 100644
index 9c7c820d9fff..8297fc7e6ec2 100644
--- config/m4/ucm.m4
+++ config/m4/ucm.m4
@@ -86,9 +86,19 @@ AC_CHECK_DECLS([SYS_ipc],
@@ -86,9 +86,20 @@ AC_CHECK_DECLS([SYS_ipc],
[ipc_hooks_happy=no],
[#include <sys/syscall.h>])
+
+SAVE_CFLAGS=$CFLAGS
+CFLAGS="$CLAGS -Isrc/"
+bistro_arch_happy=yes
+AC_CHECK_DECLS([ucm_bistro_patch],
+ [],
+ [ipc_hooks_happy=no],
+ [bistro_arch_happy=no],
+ [#include <ucm/bistro/bistro.h>])
+CFLAGS=$SAVE_CFLAGS
+
AS_IF([test "x$mmap_hooks_happy" == "xyes"],
AS_IF([test "x$ipc_hooks_happy" == "xyes" -o "x$shm_hooks_happy" == "xyes"],
AS_IF([test "x$mmap_hooks_happy" = "xyes"],
AS_IF([test "x$ipc_hooks_happy" = "xyes" -o "x$shm_hooks_happy" = "xyes"],
- [bistro_hooks_happy=yes]))
+ AS_IF([test "x$bistro_arch_happy" == "xyes"],
+ [bistro_hooks_happy=yes])))
+ AS_IF([test "x$bistro_arch_happy" == "xyes"],
+ [bistro_hooks_happy=yes])))
AS_IF([test "x$bistro_hooks_happy" == "xyes"],
AS_IF([test "x$bistro_hooks_happy" = "xyes"],
[AC_DEFINE([UCM_BISTRO_HOOKS], [1], [Enable BISTRO hooks])],
diff --git src/ucm/Makefile.am src/ucm/Makefile.am
index 74090c4f2440..e466c13395b7 100644
index e53a30a46916..21bce848045d 100644
--- src/ucm/Makefile.am
+++ src/ucm/Makefile.am
@@ -40,7 +40,8 @@ noinst_HEADERS = \
@@ -30,7 +30,8 @@ noinst_HEADERS = \
bistro/bistro.h \
bistro/bistro_x86_64.h \
bistro/bistro_aarch64.h \
@ -43,8 +44,8 @@ index 74090c4f2440..e466c13395b7 100644
+ bistro/bistro_ppc64.h \
+ bistro/bistro_s390x.h
if HAVE_CUDA
noinst_HEADERS += \
libucm_la_SOURCES = \
event/event.c \
diff --git src/ucm/bistro/bistro.h src/ucm/bistro/bistro.h
index 16e988700c35..b4c2762fb5b2 100644
--- src/ucm/bistro/bistro.h
@ -78,10 +79,10 @@ index 000000000000..334c0474e8b6
+
+#endif
diff --git src/ucm/mmap/install.c src/ucm/mmap/install.c
index ebf22aaa0415..80ed26838837 100644
index c58afb37e029..a9cfd5865278 100644
--- src/ucm/mmap/install.c
+++ src/ucm/mmap/install.c
@@ -173,7 +173,11 @@ static ucs_status_t ucs_mmap_install_reloc(int events)
@@ -254,7 +254,11 @@ static ucs_status_t ucs_mmap_install_reloc(int events)
status = ucm_reloc_modify(&entry->patch);
} else {
ucs_assert(ucm_mmap_hook_mode() == UCM_MMAP_HOOK_BISTRO);
@ -94,10 +95,10 @@ index ebf22aaa0415..80ed26838837 100644
if (status != UCS_OK) {
ucm_warn("failed to install %s hook for '%s'",
diff --git src/ucs/Makefile.am src/ucs/Makefile.am
index f82540e775a4..592d89c51109 100644
index 7e8153a4fd07..d41842711a5e 100644
--- src/ucs/Makefile.am
+++ src/ucs/Makefile.am
@@ -57,6 +57,8 @@ noinst_HEADERS = \
@@ -56,6 +56,8 @@ noinst_HEADERS = \
arch/generic/cpu.h \
arch/ppc64/bitops.h \
arch/ppc64/cpu.h \
@ -120,7 +121,7 @@ index 0caea9b1f3ba..d9afa780bbc5 100644
# error "Unsupported architecture"
#endif
diff --git src/ucs/arch/bitops.h src/ucs/arch/bitops.h
index 2049b7c71c8a..a4eceeea52e7 100644
index af7bb93392d4..6639045ae0b6 100644
--- src/ucs/arch/bitops.h
+++ src/ucs/arch/bitops.h
@@ -14,6 +14,8 @@

View File

@ -1,3 +1,41 @@
-------------------------------------------------------------------
Wed Sep 18 10:16:05 UTC 2019 - Nicolas Morey-Chaisemartin <nmoreychaisemartin@suse.com>
- Update to v1.6.0
- Features:
- Modular architecture for UCT transports
- ROCm transport re-design: support for managed memory, direct copy, ROCm GDR
- Random scheduling policy for DC transport
- Optimized out-of-box settings for multi-rail
- Added support for OmniPath (using Verbs)
- Support for PCI atomics with IB transports
- Reduced UCP address size for homogeneous environments
- Bugfixes:
- Multiple stability and performance improvements in TCP transport
- Multiple stability fixed in Verbs and MLX5 transports
- Multiple stability fixes in UCM memory hooks
- Multiple stability fixes in UGNI transport
- RPM Spec file cleanup
- Fixing compilation issues with most recent clang and gcc compilers
- Fixing the wrong name of aliases
- Fix data race in UCP wireup
- Fix segfault when libuct.so is reloaded - issue #3558
- Include Java sources in distribution
- Handle EADDRNOTAVAIL in rdma_cm connection manager
- Disable ibcm on RHEL7+ by default
- Fix data race in UCP proxy endpoint
- Static checker fixes
- Fallback to ibv_create_cq() if ibv_create_cq_ex() returns ENOSYS
- Fix malloc hooks test
- Fix checking return status in ucp_client_server example
- Fix gdrcopy libdir config value
- Fix printing atomic capabilities in ucx_info
- Fix perftest warmup iterations to be non-zero
- Fixing default values for configure logic
- Fix race condition updating fired_events from multiple threads
- Fix madvise() hook
- Refresh openucx-s390x-support.patch against new version
-------------------------------------------------------------------
Wed May 15 05:52:55 UTC 2019 - Nicolas Morey-Chaisemartin <nmoreychaisemartin@suse.com>

View File

@ -20,7 +20,7 @@ Name: openucx
Summary: Unifieid Communication X
License: BSD-3-Clause
Group: Development/Libraries/C and C++
Version: 1.5.0
Version: 1.6.0
Release: 0
Url: http://openucx.org/
@ -48,8 +48,14 @@ BuildRoot: %{_tmppath}/%{name}-%{version}-build
ExclusiveArch: aarch64 %power64 x86_64 s390x
%description
UCX is a communication library implementing high-performance
messaging for MPI/PGAS frameworks.
UCX stands for Unified Communication X. UCX provides an optimized communication
layer for Message Passing (MPI), PGAS/OpenSHMEM libraries and RPC/data-centric
applications. UCX utilizes high-speed networks, such as RDMA (InfiniBand, RoCE,
etc), Cray Gemini or Aries, for inter-node communication. If no such network is
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.
%package tools
Summary: OpenUCX utilities
@ -150,7 +156,11 @@ export UCX_CFLAGS="$UCX_CFLAGS -mno-sse -mno-sse2"
--disable-numa \
%endif
%endif
--docdir="%_docdir/%name"
--docdir="%_docdir/%name" \
--disable-debug --disable-assertions \
--disable-params-check \
--with-rc --with-ud --with-dc \
--with-mlx5-dv --with-rdmacm
# Override BASE_CFLAGS to disable Werror (boo#1121267)
make %{?_smp_mflags} V=1 BASE_CFLAGS="-g -Wall"
@ -167,6 +177,7 @@ make %{?_smp_mflags} V=1 BASE_CFLAGS="-g -Wall"
%install
%make_install
rm -fv "%buildroot/%_libdir"/*.la
rm -fv "%buildroot/%_libdir"/ucx/*.la
# Rename example dir for consistency with the package name
mv %buildroot/%_datadir/ucx %buildroot/%_datadir/openucx
@ -207,10 +218,13 @@ mv %buildroot/%_datadir/ucx %buildroot/%_datadir/openucx
%files -n libuct0
%defattr(-,root,root)
%_libdir/libuct.so.*
%dir %_libdir/ucx/
%_libdir/ucx/libuct_*.so.*
%files -n libuct-devel
%defattr(-,root,root)
%_includedir/uct/
%_libdir/libuct.so
%_libdir/ucx/libuct_*.so
%changelog

View File

@ -1,3 +0,0 @@
version https://git-lfs.github.com/spec/v1
oid sha256:84f6e4fa5740afebb9b1c8bb405c07206e58c56f83120dcfcd8dc89e4b7d7458
size 1838263

3
ucx-1.6.0.tar.gz Normal file
View File

@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:360e885dd7f706a19b673035a3477397d100a02eb618371697c7f3ee4e143e2c
size 2078802