unofficial mirror of guix-patches@gnu.org 
 help / color / mirror / code / Atom feed
From: Dave Love <fx@gnu.org>
To: 28423@debbugs.gnu.org
Subject: [bug#28423] gnu: Add imb-openmpi.
Date: Mon, 11 Sep 2017 21:47:35 +0100	[thread overview]
Message-ID: <87377tj72w.fsf@albion.it.manchester.ac.uk> (raw)
In-Reply-To: <877ex5j7dz.fsf@albion.it.manchester.ac.uk> (Dave Love's message of "Mon, 11 Sep 2017 21:40:56 +0100")

[-- Attachment #1: Type: text/plain, Size: 219 bytes --]

I wrote: 

> I'm not sure whether this should be in benchmark or in mpi, as an MPI
> benchmark.

and then attached an old one rather then a new one where I put it in
benchmark instead...  This is what I meant to send.


[-- Attachment #2: 0001-gnu-Add-imb-openmpi.patch --]
[-- Type: text/x-diff, Size: 3865 bytes --]

From eed7aaac597248505d0ad0609810f7af5caac720 Mon Sep 17 00:00:00 2001
From: Dave Love <fx@gnu.org>
Date: Sat, 9 Sep 2017 11:10:29 +0100
Subject: [PATCH] gnu: Add imb-openmpi.

* mpi.scm (gnu, imb): New function.
  (imb-openmpi): New package.
---
 gnu/packages/benchmark.scm | 68 ++++++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 68 insertions(+)

diff --git a/gnu/packages/benchmark.scm b/gnu/packages/benchmark.scm
index 136f141d8..7ed4addcf 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 <mbakke@fastmail.com>
+;;; Copyright © 2017 Dave Love <fx@gnu.org>
 ;;;
 ;;; 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,69 @@ 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
+     `((,(package-name mpi) ,mpi)))
+    (arguments
+     `(#:phases
+       (modify-phases %standard-phases
+         (delete 'configure)
+         (delete 'check)
+         (replace 'build
+           (lambda* _
+             (let ((mpi-home (dirname (dirname (which "mpicc")))))
+               (zero?
+                ;; Not safe for parallel build
+                (system
+                 (format #f "make -C imb/src -f make_mpich SHELL=sh MPI_HOME=~a"
+                         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")))
+               (mkdir-p bin)
+               (mkdir-p doc)
+               (and
+                (zero?
+                 (system
+                  (string-append
+                   "cd imb/src && install -m755 IMB-IO IMB-EXT IMB-MPI1 IMB-NBC IMB-RMA "
+                   bin)))
+                (zero?
+                 (system
+                  (string-append
+                   "cd imb && cp -r license " doc))))))))))
+    (home-page "https://software.intel.com/en-us/articles/intel-mpi-benchmarks")
+    (synopsis (format #f "Intel MPI Benchmarks, ~a version" (package-name mpi)))
+    (description (format #f "\
+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:
+@itemize
+@item
+Performance of a cluster system, including node performance, network latency,
+and throughput;
+@item
+Efficiency of the MPI implementation.
+@end itemize
+This is the ~a version." (package-name mpi)))
+    (license license:cpl1.0)))
+
+(define-public imb-openmpi (imb openmpi))
-- 
2.11.0


  reply	other threads:[~2017-09-11 20:48 UTC|newest]

Thread overview: 10+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2017-09-11 20:40 [bug#28423] gnu: Add imb-openmpi Dave Love
2017-09-11 20:47 ` Dave Love [this message]
2017-09-12 13:06   ` Ludovic Courtès
2017-09-28 20:09     ` Ludovic Courtès
2017-10-02 20:45       ` Dave Love
2017-10-03 12:47         ` Ludovic Courtès
2017-10-03 16:57           ` Dave Love
2017-10-03 19:51             ` Ludovic Courtès
2017-10-04 15:32               ` Dave Love
2017-10-05  9:24                 ` bug#28423: " Ludovic Courtès

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

  List information: https://guix.gnu.org/

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=87377tj72w.fsf@albion.it.manchester.ac.uk \
    --to=fx@gnu.org \
    --cc=28423@debbugs.gnu.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/guix.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).