aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLudovic Courtès <ludovic.courtes@inria.fr>2019-10-15 11:18:49 +0200
committerLudovic Courtès <ludo@gnu.org>2019-10-15 13:56:41 +0200
commitda414ec6873b0b912002babe4385fbae51676b43 (patch)
tree6d404e1e5d034c22c4823283c5a9b6be0412ef01
parent81c5873ab7405de8d6c2f6024f05a5afe43fe005 (diff)
downloadguix-da414ec6873b0b912002babe4385fbae51676b43.tar
guix-da414ec6873b0b912002babe4385fbae51676b43.tar.gz
gnu: Add ucx.
* gnu/packages/fabric-management.scm (ucx): New variable.
-rw-r--r--gnu/packages/fabric-management.scm50
1 files changed, 50 insertions, 0 deletions
diff --git a/gnu/packages/fabric-management.scm b/gnu/packages/fabric-management.scm
index 83520f1a74..9b30b09df5 100644
--- a/gnu/packages/fabric-management.scm
+++ b/gnu/packages/fabric-management.scm
@@ -2,6 +2,7 @@
;;; Copyright © 2017 Dave Love <fx@gnu.org>
;;; Copyright © 2018, 2019 Tobias Geerinckx-Rice <me@tobias.gr>
;;; Copyright © 2019 Ricardo Wurmus <rekado@elephly.net>
+;;; Copyright © 2019 Ludovic Courtès <ludo@gnu.org>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -22,6 +23,7 @@
#:use-module (guix packages)
#:use-module (guix licenses)
#:use-module (guix download)
+ #:use-module (guix git-download)
#:use-module (guix utils)
#:use-module (guix build-system gnu)
#:use-module (gnu packages)
@@ -175,3 +177,51 @@ interface to this library is not guaranteed to be stable.")
testing InfiniBand networks.")
(home-page "https://www.openfabrics.org/downloads/ibutils/")
(license bsd-2)))
+
+(define-public ucx
+ (package
+ (name "ucx")
+ (version "1.6.1")
+ (source (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/openucx/ucx.git")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "0x3clvy716i7va4m4adgx6ihjsfnzrkdizhxz5v52944dkglpc8n"))))
+ (build-system gnu-build-system)
+ (arguments
+ '( ;; These are the flags found in 'contrib/configure-release'.
+ #:configure-flags (list "--enable-optimizations"
+ "--disable-logging"
+ "--disable-debug"
+ "--disable-assertions"
+ "--disable-params-check"
+
+ (string-append "--with-rdmacm="
+ (assoc-ref %build-inputs
+ "rdma-core")))))
+ (native-inputs
+ `(("autoconf" ,autoconf)
+ ("automake" ,automake)
+ ("libtool" ,libtool)
+ ("pkg-config" ,pkg-config)))
+ (inputs
+ `(("numactl" ,numactl)
+ ("rdma-core" ,rdma-core)))
+ (synopsis "Optimized communication layer for message passing in HPC")
+ (description
+ "Unified Communication X (UCX) provides an optimized communication layer
+for message passing (MPI), portable global address space (PGAS) languages and
+run-time support libraries, as well as RPC and data-centric applications.
+
+UCX utilizes high-speed networks for inter-node communication, and shared
+memory mechanisms for efficient intra-node communication.")
+ (home-page "https://www.openucx.org/")
+ (license bsd-3)
+
+ ;; <ucm/bistro/bistro.h> lists only PowerPC64, AArch64, and x86_64 as
+ ;; supported.
+ (supported-systems '("x86_64-linux" "aarch64-linux"))))