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>
|
||||
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>
|
||||
|
||||
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
|
||||
index 74edce424728..43a50e893f77 100644
|
||||
index f82540e775a4..592d89c51109 100644
|
||||
--- 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/ppc64/bitops.h \
|
||||
arch/ppc64/cpu.h \
|
||||
@ -20,7 +107,7 @@ index 74edce424728..43a50e893f77 100644
|
||||
arch/x86_64/bitops.h \
|
||||
arch/x86_64/cpu.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
|
||||
@@ -15,6 +15,8 @@
|
||||
@ -33,7 +120,7 @@ index 7649971b407b..7bb2bc36c483 100644
|
||||
# error "Unsupported architecture"
|
||||
#endif
|
||||
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
|
||||
@@ -14,6 +14,8 @@
|
||||
@ -46,10 +133,10 @@ index f4dd3ab45964..de53bde0d33f 100644
|
||||
# error "Unsupported architecture"
|
||||
#endif
|
||||
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
|
||||
@@ -56,6 +56,8 @@ typedef enum ucs_cpu_flag {
|
||||
@@ -59,6 +59,8 @@ typedef enum ucs_cpu_flag {
|
||||
# include "ppc64/cpu.h"
|
||||
#elif defined(__aarch64__)
|
||||
# include "aarch64/cpu.h"
|
||||
@ -98,10 +185,10 @@ index 000000000000..39ad125107e9
|
||||
+#endif
|
||||
diff --git src/ucs/arch/s390x/cpu.h src/ucs/arch/s390x/cpu.h
|
||||
new file mode 100644
|
||||
index 000000000000..f5131ea30a8f
|
||||
index 000000000000..b8ab713d6e21
|
||||
--- /dev/null
|
||||
+++ 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) 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_store_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_store_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()
|
||||
|
@ -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
|
||||
|
||||
|
@ -1,7 +1,7 @@
|
||||
#
|
||||
# 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
|
||||
# remain the property of their copyright owners, unless otherwise agreed
|
||||
@ -20,13 +20,14 @@ Name: openucx
|
||||
Summary: Unifieid Communication X
|
||||
License: BSD-3-Clause
|
||||
Group: Development/Libraries/C and C++
|
||||
Version: 1.4.0
|
||||
Version: 1.5.0
|
||||
Release: 0
|
||||
Url: http://openucx.org/
|
||||
|
||||
#Git-Clone: git://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
|
||||
Source1: baselibs.conf
|
||||
Patch1: openucx-s390x-support.patch
|
||||
BuildRequires: autoconf >= 2.63
|
||||
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