guix-patches
[Top][All Lists]
Advanced

[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


reply via email to

[Prev in Thread] Current Thread [Next in Thread]