diff --git a/openucx-s390x-support.patch b/openucx-s390x-support.patch index fb09f65..8a6903e 100644 --- a/openucx-s390x-support.patch +++ b/openucx-s390x-support.patch @@ -1,4 +1,4 @@ -commit 621654abd1ca34a407d8033991659c45d42c3a4e +commit 7efd75794d17351fbcfdd2759fc9abf22af0d631 Author: Nicolas Morey-Chaisemartin 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 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 ]) ++ +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 ]) +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 @@ diff --git a/openucx.changes b/openucx.changes index bf18095..fe016ab 100644 --- a/openucx.changes +++ b/openucx.changes @@ -1,3 +1,41 @@ +------------------------------------------------------------------- +Wed Sep 18 10:16:05 UTC 2019 - Nicolas Morey-Chaisemartin + +- 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 diff --git a/openucx.spec b/openucx.spec index 0b2516f..1d4a6bc 100644 --- a/openucx.spec +++ b/openucx.spec @@ -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 diff --git a/ucx-1.5.0.tar.gz b/ucx-1.5.0.tar.gz deleted file mode 100644 index e70766c..0000000 --- a/ucx-1.5.0.tar.gz +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:84f6e4fa5740afebb9b1c8bb405c07206e58c56f83120dcfcd8dc89e4b7d7458 -size 1838263 diff --git a/ucx-1.6.0.tar.gz b/ucx-1.6.0.tar.gz new file mode 100644 index 0000000..a7ee328 --- /dev/null +++ b/ucx-1.6.0.tar.gz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:360e885dd7f706a19b673035a3477397d100a02eb618371697c7f3ee4e143e2c +size 2078802