guix-commits
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

04/04: gnu: Add imb-openmpi.


From: Ludovic Courtès
Subject: 04/04: gnu: Add imb-openmpi.
Date: Thu, 5 Oct 2017 06:10:59 -0400 (EDT)

civodul pushed a commit to branch master
in repository guix.

commit 04717e9406f3b5171ad28ed67d926ce0e25da94d
Author: Dave Love <address@hidden>
Date:   Tue Oct 3 19:14:50 2017 +0100

    gnu: Add imb-openmpi.
    
    * gnu/packages/benchmark.scm (imb): New procedure.
    (imb-openmpi): New variable.
    
    Signed-off-by: Ludovic Courtès <address@hidden>
---
 gnu/packages/benchmark.scm | 67 +++++++++++++++++++++++++++++++++++++++++++++-
 1 file changed, 66 insertions(+), 1 deletion(-)

diff --git a/gnu/packages/benchmark.scm b/gnu/packages/benchmark.scm
index 136f141..feed7b5 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,8 +25,10 @@
   #: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))
+  #:use-module (gnu packages storage)
+  #:use-module (ice-9 match))
 
 (define-public fio
   (package
@@ -103,3 +106,65 @@ 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 (match (string-split version #\.)
+             ((major minor)
+              (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/" ,name))
+                    (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
+     "This package provides benchmarks for implementations of the @dfn{Message
+Passing Interface} (MPI).  It contains 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))



reply via email to

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