Accepting request 678966 from home:NMoreyChaisemartin:branches:science:HPC
- Update openucx-s390x-support.patch to fix support of 1.5.0 on s390x - Add baselibs.conf for ppc - Update to v1.5.0 (bsc#1121267) * Features: * New emulation mode enabling full UCX functionality (Atomic, Put, Get) * over TCP and RDMA-CORE interconnects which don't implement full RDMA semantics * Non-blocking API for all one-sided operations. All blocking communication APIs marked * as deprecated * New client/server connection establishment API, which allows connected handover between workers * Support for rdma-core direct-verbs (DEVX) and DC with mlx5 transports * GPU - Support for stream API and receive side pipelining * Malloc hooks using binary instrumentation instead of symbol override * Statistics for UCT tag API * GPU-to-Infiniband HCA affinity support based on locality/distance (PCIe) * Bugfixes: * Fix overflow in RC/DC flush operations * Update description in SPEC file and README * Fix RoCE source port for dc_mlx5 flow control * Improve ucx_info help message * Fix segfault in UCP, due to int truncation in count_one_bits() * Multiple other bugfixes (full list on github) * Tested configurations: * InfiniBand: MLNX_OFED 4.4-4.5, distribution inbox drivers, rdma-core * CUDA: gdrcopy 1.2, cuda 9.1.85 * XPMEM: 2.6.2 * KNEM: 1.1.2 OBS-URL: https://build.opensuse.org/request/show/678966 OBS-URL: https://build.opensuse.org/package/show/science:HPC/openucx?expand=0&rev=27
This commit is contained in:
parent
56befa2187
commit
fd1e5380fe
4
baselibs.conf
Normal file
4
baselibs.conf
Normal file
@ -0,0 +1,4 @@
|
|||||||
|
libucm0
|
||||||
|
libucp0
|
||||||
|
libucs0
|
||||||
|
libuct0
|
@ -1,4 +1,4 @@
|
|||||||
commit c4261cb194ce2f87c564c22f5cb795f33fce6f5f
|
commit 621654abd1ca34a407d8033991659c45d42c3a4e
|
||||||
Author: Nicolas Morey-Chaisemartin <nmoreychaisemartin@suse.com>
|
Author: Nicolas Morey-Chaisemartin <nmoreychaisemartin@suse.com>
|
||||||
Date: Thu Aug 9 07:41:24 2018 +0200
|
Date: Thu Aug 9 07:41:24 2018 +0200
|
||||||
|
|
||||||
@ -6,11 +6,98 @@ Date: Thu Aug 9 07:41:24 2018 +0200
|
|||||||
|
|
||||||
Signed-off-by: Nicolas Morey-Chaisemartin <nmoreychaisemartin@suse.com>
|
Signed-off-by: Nicolas Morey-Chaisemartin <nmoreychaisemartin@suse.com>
|
||||||
|
|
||||||
|
diff --git config/m4/ucm.m4 config/m4/ucm.m4
|
||||||
|
index 541bdb1322ce..4f89f6e02860 100644
|
||||||
|
--- config/m4/ucm.m4
|
||||||
|
+++ config/m4/ucm.m4
|
||||||
|
@@ -86,9 +86,19 @@ 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],
|
||||||
|
+ [#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"],
|
||||||
|
- [bistro_hooks_happy=yes]))
|
||||||
|
+ AS_IF([test "x$bistro_arch_happy" == "xyes"],
|
||||||
|
+ [bistro_hooks_happy=yes])))
|
||||||
|
|
||||||
|
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
|
||||||
|
--- src/ucm/Makefile.am
|
||||||
|
+++ src/ucm/Makefile.am
|
||||||
|
@@ -40,7 +40,8 @@ noinst_HEADERS = \
|
||||||
|
bistro/bistro.h \
|
||||||
|
bistro/bistro_x86_64.h \
|
||||||
|
bistro/bistro_aarch64.h \
|
||||||
|
- bistro/bistro_ppc64.h
|
||||||
|
+ bistro/bistro_ppc64.h \
|
||||||
|
+ bistro/bistro_s390x.h
|
||||||
|
|
||||||
|
if HAVE_CUDA
|
||||||
|
noinst_HEADERS += \
|
||||||
|
diff --git src/ucm/bistro/bistro.h src/ucm/bistro/bistro.h
|
||||||
|
index 16e988700c35..b4c2762fb5b2 100644
|
||||||
|
--- src/ucm/bistro/bistro.h
|
||||||
|
+++ src/ucm/bistro/bistro.h
|
||||||
|
@@ -20,6 +20,8 @@ typedef struct ucm_bistro_restore_point ucm_bistro_restore_point_t;
|
||||||
|
# include "bistro_aarch64.h"
|
||||||
|
#elif defined(__x86_64__)
|
||||||
|
# include "bistro_x86_64.h"
|
||||||
|
+#elif defined(__s390x__)
|
||||||
|
+# include "bistro_s390x.h"
|
||||||
|
#else
|
||||||
|
# error "Unsupported architecture"
|
||||||
|
#endif
|
||||||
|
diff --git src/ucm/bistro/bistro_s390x.h src/ucm/bistro/bistro_s390x.h
|
||||||
|
new file mode 100644
|
||||||
|
index 000000000000..334c0474e8b6
|
||||||
|
--- /dev/null
|
||||||
|
+++ src/ucm/bistro/bistro_s390x.h
|
||||||
|
@@ -0,0 +1,13 @@
|
||||||
|
+#ifndef UCM_BISTRO_BISTRO_S390X_H_
|
||||||
|
+#define UCM_BISTRO_BISTRO_S390X_H_
|
||||||
|
+
|
||||||
|
+#include <stdint.h>
|
||||||
|
+
|
||||||
|
+#include <ucs/type/status.h>
|
||||||
|
+#include <ucs/sys/compiler_def.h>
|
||||||
|
+
|
||||||
|
+#define UCM_BISTRO_PROLOGUE
|
||||||
|
+#define UCM_BISTRO_EPILOGUE
|
||||||
|
+
|
||||||
|
+
|
||||||
|
+#endif
|
||||||
|
diff --git src/ucm/mmap/install.c src/ucm/mmap/install.c
|
||||||
|
index ebf22aaa0415..80ed26838837 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)
|
||||||
|
status = ucm_reloc_modify(&entry->patch);
|
||||||
|
} else {
|
||||||
|
ucs_assert(ucm_mmap_hook_mode() == UCM_MMAP_HOOK_BISTRO);
|
||||||
|
+#if UCM_BISTRO_HOOKS
|
||||||
|
status = ucm_bistro_patch(entry->patch.symbol, entry->patch.value, NULL);
|
||||||
|
+#else
|
||||||
|
+ status = UCS_ERR_UNSUPPORTED;
|
||||||
|
+#endif
|
||||||
|
}
|
||||||
|
if (status != UCS_OK) {
|
||||||
|
ucm_warn("failed to install %s hook for '%s'",
|
||||||
diff --git src/ucs/Makefile.am src/ucs/Makefile.am
|
diff --git src/ucs/Makefile.am src/ucs/Makefile.am
|
||||||
index 74edce424728..43a50e893f77 100644
|
index f82540e775a4..592d89c51109 100644
|
||||||
--- src/ucs/Makefile.am
|
--- src/ucs/Makefile.am
|
||||||
+++ src/ucs/Makefile.am
|
+++ src/ucs/Makefile.am
|
||||||
@@ -53,6 +53,8 @@ noinst_HEADERS = \
|
@@ -57,6 +57,8 @@ noinst_HEADERS = \
|
||||||
arch/generic/cpu.h \
|
arch/generic/cpu.h \
|
||||||
arch/ppc64/bitops.h \
|
arch/ppc64/bitops.h \
|
||||||
arch/ppc64/cpu.h \
|
arch/ppc64/cpu.h \
|
||||||
@ -20,7 +107,7 @@ index 74edce424728..43a50e893f77 100644
|
|||||||
arch/x86_64/bitops.h \
|
arch/x86_64/bitops.h \
|
||||||
arch/x86_64/cpu.h \
|
arch/x86_64/cpu.h \
|
||||||
diff --git src/ucs/arch/atomic.h src/ucs/arch/atomic.h
|
diff --git src/ucs/arch/atomic.h src/ucs/arch/atomic.h
|
||||||
index 7649971b407b..7bb2bc36c483 100644
|
index 0caea9b1f3ba..d9afa780bbc5 100644
|
||||||
--- src/ucs/arch/atomic.h
|
--- src/ucs/arch/atomic.h
|
||||||
+++ src/ucs/arch/atomic.h
|
+++ src/ucs/arch/atomic.h
|
||||||
@@ -15,6 +15,8 @@
|
@@ -15,6 +15,8 @@
|
||||||
@ -33,7 +120,7 @@ index 7649971b407b..7bb2bc36c483 100644
|
|||||||
# error "Unsupported architecture"
|
# error "Unsupported architecture"
|
||||||
#endif
|
#endif
|
||||||
diff --git src/ucs/arch/bitops.h src/ucs/arch/bitops.h
|
diff --git src/ucs/arch/bitops.h src/ucs/arch/bitops.h
|
||||||
index f4dd3ab45964..de53bde0d33f 100644
|
index 2049b7c71c8a..a4eceeea52e7 100644
|
||||||
--- src/ucs/arch/bitops.h
|
--- src/ucs/arch/bitops.h
|
||||||
+++ src/ucs/arch/bitops.h
|
+++ src/ucs/arch/bitops.h
|
||||||
@@ -14,6 +14,8 @@
|
@@ -14,6 +14,8 @@
|
||||||
@ -46,10 +133,10 @@ index f4dd3ab45964..de53bde0d33f 100644
|
|||||||
# error "Unsupported architecture"
|
# error "Unsupported architecture"
|
||||||
#endif
|
#endif
|
||||||
diff --git src/ucs/arch/cpu.h src/ucs/arch/cpu.h
|
diff --git src/ucs/arch/cpu.h src/ucs/arch/cpu.h
|
||||||
index 1c362bc92fba..14172218e24c 100644
|
index 58a83825ee4a..a30456ba441d 100644
|
||||||
--- src/ucs/arch/cpu.h
|
--- src/ucs/arch/cpu.h
|
||||||
+++ src/ucs/arch/cpu.h
|
+++ src/ucs/arch/cpu.h
|
||||||
@@ -56,6 +56,8 @@ typedef enum ucs_cpu_flag {
|
@@ -59,6 +59,8 @@ typedef enum ucs_cpu_flag {
|
||||||
# include "ppc64/cpu.h"
|
# include "ppc64/cpu.h"
|
||||||
#elif defined(__aarch64__)
|
#elif defined(__aarch64__)
|
||||||
# include "aarch64/cpu.h"
|
# include "aarch64/cpu.h"
|
||||||
@ -98,10 +185,10 @@ index 000000000000..39ad125107e9
|
|||||||
+#endif
|
+#endif
|
||||||
diff --git src/ucs/arch/s390x/cpu.h src/ucs/arch/s390x/cpu.h
|
diff --git src/ucs/arch/s390x/cpu.h src/ucs/arch/s390x/cpu.h
|
||||||
new file mode 100644
|
new file mode 100644
|
||||||
index 000000000000..f5131ea30a8f
|
index 000000000000..b8ab713d6e21
|
||||||
--- /dev/null
|
--- /dev/null
|
||||||
+++ src/ucs/arch/s390x/cpu.h
|
+++ src/ucs/arch/s390x/cpu.h
|
||||||
@@ -0,0 +1,51 @@
|
@@ -0,0 +1,53 @@
|
||||||
+/**
|
+/**
|
||||||
+* Copyright (C) Mellanox Technologies Ltd. 2001-2013. ALL RIGHTS RESERVED.
|
+* Copyright (C) Mellanox Technologies Ltd. 2001-2013. ALL RIGHTS RESERVED.
|
||||||
+* Copyright (C) ARM Ltd. 2016-2017. ALL RIGHTS RESERVED.
|
+* Copyright (C) ARM Ltd. 2016-2017. ALL RIGHTS RESERVED.
|
||||||
@ -124,9 +211,11 @@ index 000000000000..f5131ea30a8f
|
|||||||
+#define ucs_memory_bus_fence() asm volatile (""::: "memory")
|
+#define ucs_memory_bus_fence() asm volatile (""::: "memory")
|
||||||
+#define ucs_memory_bus_store_fence() ucs_memory_bus_fence()
|
+#define ucs_memory_bus_store_fence() ucs_memory_bus_fence()
|
||||||
+#define ucs_memory_bus_load_fence() ucs_memory_bus_fence()
|
+#define ucs_memory_bus_load_fence() ucs_memory_bus_fence()
|
||||||
|
+#define ucs_memory_bus_wc_flush() ucs_memory_bus_fence()
|
||||||
+#define ucs_memory_cpu_fence() ucs_memory_bus_fence()
|
+#define ucs_memory_cpu_fence() ucs_memory_bus_fence()
|
||||||
+#define ucs_memory_cpu_store_fence() ucs_memory_bus_fence()
|
+#define ucs_memory_cpu_store_fence() ucs_memory_bus_fence()
|
||||||
+#define ucs_memory_cpu_load_fence() ucs_memory_bus_fence()
|
+#define ucs_memory_cpu_load_fence() ucs_memory_bus_fence()
|
||||||
|
+#define ucs_memory_cpu_wc_fence() ucs_memory_bus_fence()
|
||||||
+
|
+
|
||||||
+
|
+
|
||||||
+static inline uint64_t ucs_arch_read_hres_clock()
|
+static inline uint64_t ucs_arch_read_hres_clock()
|
||||||
|
@ -1,3 +1,40 @@
|
|||||||
|
-------------------------------------------------------------------
|
||||||
|
Mon Feb 25 07:56:39 UTC 2019 - nmorey <nmoreychaisemartin@suse.com>
|
||||||
|
|
||||||
|
- Update openucx-s390x-support.patch to fix support of 1.5.0 on s390x
|
||||||
|
- Add baselibs.conf for ppc
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Fri Feb 22 12:11:57 UTC 2019 - Martin Liška <mliska@suse.cz>
|
||||||
|
|
||||||
|
- Update to v1.5.0 (bsc#1121267)
|
||||||
|
* Features:
|
||||||
|
|
||||||
|
* New emulation mode enabling full UCX functionality (Atomic, Put, Get)
|
||||||
|
* over TCP and RDMA-CORE interconnects which don't implement full RDMA semantics
|
||||||
|
* Non-blocking API for all one-sided operations. All blocking communication APIs marked
|
||||||
|
* as deprecated
|
||||||
|
* New client/server connection establishment API, which allows connected handover between workers
|
||||||
|
* Support for rdma-core direct-verbs (DEVX) and DC with mlx5 transports
|
||||||
|
* GPU - Support for stream API and receive side pipelining
|
||||||
|
* Malloc hooks using binary instrumentation instead of symbol override
|
||||||
|
* Statistics for UCT tag API
|
||||||
|
* GPU-to-Infiniband HCA affinity support based on locality/distance (PCIe)
|
||||||
|
* Bugfixes:
|
||||||
|
|
||||||
|
* Fix overflow in RC/DC flush operations
|
||||||
|
* Update description in SPEC file and README
|
||||||
|
* Fix RoCE source port for dc_mlx5 flow control
|
||||||
|
* Improve ucx_info help message
|
||||||
|
* Fix segfault in UCP, due to int truncation in count_one_bits()
|
||||||
|
* Multiple other bugfixes (full list on github)
|
||||||
|
* Tested configurations:
|
||||||
|
|
||||||
|
* InfiniBand: MLNX_OFED 4.4-4.5, distribution inbox drivers, rdma-core
|
||||||
|
* CUDA: gdrcopy 1.2, cuda 9.1.85
|
||||||
|
* XPMEM: 2.6.2
|
||||||
|
* KNEM: 1.1.2
|
||||||
|
|
||||||
-------------------------------------------------------------------
|
-------------------------------------------------------------------
|
||||||
Tue Nov 6 07:18:34 UTC 2018 - nmoreychaisemartin@suse.com
|
Tue Nov 6 07:18:34 UTC 2018 - nmoreychaisemartin@suse.com
|
||||||
|
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
#
|
#
|
||||||
# spec file for package openucx
|
# spec file for package openucx
|
||||||
#
|
#
|
||||||
# Copyright (c) 2018 SUSE LINUX GmbH, Nuernberg, Germany.
|
# Copyright (c) 2019 SUSE LINUX GmbH, Nuernberg, Germany.
|
||||||
#
|
#
|
||||||
# All modifications and additions to the file contributed by third parties
|
# All modifications and additions to the file contributed by third parties
|
||||||
# remain the property of their copyright owners, unless otherwise agreed
|
# remain the property of their copyright owners, unless otherwise agreed
|
||||||
@ -20,13 +20,14 @@ Name: openucx
|
|||||||
Summary: Unifieid Communication X
|
Summary: Unifieid Communication X
|
||||||
License: BSD-3-Clause
|
License: BSD-3-Clause
|
||||||
Group: Development/Libraries/C and C++
|
Group: Development/Libraries/C and C++
|
||||||
Version: 1.4.0
|
Version: 1.5.0
|
||||||
Release: 0
|
Release: 0
|
||||||
Url: http://openucx.org/
|
Url: http://openucx.org/
|
||||||
|
|
||||||
#Git-Clone: git://github.com/openucx/ucx
|
#Git-Clone: git://github.com/openucx/ucx
|
||||||
#Git-Web: https://github.com/openucx/ucx
|
#Git-Web: https://github.com/openucx/ucx
|
||||||
Source: https://github.com/openucx/ucx/releases/download/v%version/ucx-%version.tar.gz
|
Source: https://github.com/openucx/ucx/releases/download/v%version/ucx-%version.tar.gz
|
||||||
|
Source1: baselibs.conf
|
||||||
Patch1: openucx-s390x-support.patch
|
Patch1: openucx-s390x-support.patch
|
||||||
BuildRequires: autoconf >= 2.63
|
BuildRequires: autoconf >= 2.63
|
||||||
BuildRequires: automake >= 1.10
|
BuildRequires: automake >= 1.10
|
||||||
|
@ -1,3 +0,0 @@
|
|||||||
version https://git-lfs.github.com/spec/v1
|
|
||||||
oid sha256:99891a98476bcadc6ac4ef9c9f083bc6ffb188a96b3c3bc89c8bbca64de2c76e
|
|
||||||
size 1777644
|
|
3
ucx-1.5.0.tar.gz
Normal file
3
ucx-1.5.0.tar.gz
Normal file
@ -0,0 +1,3 @@
|
|||||||
|
version https://git-lfs.github.com/spec/v1
|
||||||
|
oid sha256:84f6e4fa5740afebb9b1c8bb405c07206e58c56f83120dcfcd8dc89e4b7d7458
|
||||||
|
size 1838263
|
Loading…
Reference in New Issue
Block a user