;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2017 Dave Love <fx@gnu.org>
-;;; Copyright © 2018 Tobias Geerinckx-Rice <me@tobias.gr>
+;;; 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.
;;;
#: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)
(define-public opensm
(package
(name "opensm")
- (version "3.3.21")
+ (version "3.3.22")
(source
(origin
(method url-fetch)
(string-append "https://github.com/linux-rdma/opensm/releases/download/"
version "/opensm-" version ".tar.gz"))
(sha256
- (base32 "0j4vp118w1l47vs4had46ynybklyacxjlya0r15jg0y01l4j9l2h"))))
+ (base32 "19scwwpwqhqsyq4hbr5cflcmypss828lalxxd36yby7mbimca38y"))))
(build-system gnu-build-system)
(native-inputs
`(("bison" ,bison)
(rename-file perlin perlout)
#t))))))
(home-page "https://github.com/linux-rdma/infiniband-diags")
- (synopsis "Infiniband diagnotic tools")
+ (synopsis "Infiniband diagnostic tools")
(description "This is a set of command-line utilities to help configure,
debug, and maintain Infiniband (IB) fabrics.
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"))
+ (patches (search-patches "ucx-tcp-iface-ioctl.patch"))))
+ (build-system gnu-build-system)
+ (arguments
+ '( ;; These are some of the flags found in 'contrib/configure-release'.
+ #:configure-flags (list
+ "--disable-static"
+
+ ;; XXX: Disable optimizations specific to the build
+ ;; machine (AVX, etc.) There's apparently no way to
+ ;; have them picked up at load time.
+ "--disable-optimizations"
+
+ "--disable-logging"
+ "--disable-debug"
+ "--disable-assertions"
+ "--disable-params-check"
+
+ (string-append "--with-verbs="
+ (assoc-ref %build-inputs
+ "rdma-core"))
+
+ (string-append "--with-rdmacm="
+ (assoc-ref %build-inputs
+ "rdma-core")))
+
+ ;; Be verbose so that compiler flags are displayed.
+ #:make-flags '("V=1")))
+ (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"))))