[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[bug#28423] gnu: Add imb-openmpi.
From: |
Dave Love |
Subject: |
[bug#28423] gnu: Add imb-openmpi. |
Date: |
Wed, 04 Oct 2017 16:32:24 +0100 |
User-agent: |
Gnus/5.13 (Gnus v5.13) Emacs/24.5 (gnu/linux) |
Ludovic Courtès <address@hidden> writes:
>> The question would have been why
>>
>> (format-string #f ("Package variant ~a is not translatable" x))
>
> Strings are not applicable. You probably meant:
>
> (G_ "Foo ~a bar")
Sorry, I don't know where the extra parens came from in hasty mail.
(I was Scheming around the time of T...)
What I meant was something like
(description (format-string #f "Package variant ~a is not translatable" x))
Anyhow, thanks for the explanation in the new doc which clears the
confusion I had. I don't understand the mechanism, but I guess it's not
worth researching.
Here's a revised patch.
>From 44b58081283c93e49d00900cc3e29dfd1af0e97a Mon Sep 17 00:00:00 2001
From: Dave Love <address@hidden>
Date: Tue, 3 Oct 2017 19:14:50 +0100
Subject: [PATCH] gnu: Add imb-openmpi.
* gnu/packages/benchmark.scm(imb): New function.
(imb-openmpi): New variable.
---
gnu/packages/benchmark.scm | 63 ++++++++++++++++++++++++++++++++++++++++++++++
1 file changed, 63 insertions(+)
diff --git a/gnu/packages/benchmark.scm b/gnu/packages/benchmark.scm
index 136f141d8..e3c2570ef 100644
--- a/gnu/packages/benchmark.scm
+++ b/gnu/packages/benchmark.scm
@@ -1,5 +1,6 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2016, 2017 Marius Bakke <address@hidden>
+;;; Copyright © 2017 Dave Love <address@hidden>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -24,6 +25,7 @@
#:use-module (gnu packages compression)
#:use-module (gnu packages linux)
#:use-module (gnu packages maths)
+ #:use-module (gnu packages mpi)
#:use-module (gnu packages python)
#:use-module (gnu packages storage))
@@ -103,3 +105,64 @@ is to write a job file matching the I/O load one wants to
simulate.")
;; are covered by other licenses.
(license (list license:gpl2 license:gpl2+ license:bsd-2
license:public-domain))))
+
+;; Parameterized in anticipation of m(va)pich support
+(define (imb mpi)
+ (package
+ (name (string-append "imb-" (package-name mpi)))
+ (version "2017.2")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (let* ((parts (string-split version #\.) )
+ (major (car parts))
+ (minor (cadr parts)))
+ (string-append
+
"https://software.intel.com/sites/default/files/managed/76/6c/IMB_"
+ major "_Update" minor ".tgz")))
+ (sha256 (base32
"11nczxm686rsppmw9gjc2p2sxc0jniv5kv18yxm1lzp5qfh5rqyb"))))
+ (build-system gnu-build-system)
+ (inputs
+ `(("mpi" ,mpi)))
+ (arguments
+ `(#:phases
+ (modify-phases %standard-phases
+ (delete 'configure)
+ (delete 'check)
+ (replace 'build
+ (lambda* (#:key inputs #:allow-other-keys)
+ (let ((mpi-home (assoc-ref inputs "mpi")))
+ (zero?
+ ;; Not safe for parallel build
+ (system* "make" "-C" "imb/src" "-f" "make_mpich" "SHELL=sh"
+ (string-append "MPI_HOME=" mpi-home))))))
+ (replace 'install
+ (lambda* (#:key outputs #:allow-other-keys)
+ (let* ((out (assoc-ref outputs "out"))
+ (doc (string-append out "/share/doc"))
+ (bin (string-append out "/bin")))
+ (with-directory-excursion "imb/src"
+ (for-each
+ (lambda (file)
+ (install-file file bin))
+ '("IMB-IO" "IMB-EXT" "IMB-MPI1" "IMB-NBC" "IMB-RMA")))
+ (mkdir-p doc)
+ (with-directory-excursion "imb"
+ (copy-recursively "license" doc)))
+ #t)))))
+ (home-page
"https://software.intel.com/en-us/articles/intel-mpi-benchmarks")
+ (synopsis "Intel MPI Benchmarks")
+ (description
+ "A set of MPI performance measurements for point-to-point and global
+communication, and file, operations for a range of message sizes.
+The generated benchmark data fully characterize:
address@hidden
address@hidden
+Performance of a cluster system, including node performance, network latency,
+and throughput;
address@hidden
+Efficiency of the MPI implementation.
address@hidden itemize")
+ (license license:cpl1.0)))
+
+(define-public imb-openmpi (imb openmpi))
--
2.11.0