unofficial mirror of guix-patches@gnu.org 
 help / color / mirror / code / Atom feed
* [bug#28423] gnu: Add imb-openmpi.
@ 2017-09-11 20:40 Dave Love
  2017-09-11 20:47 ` Dave Love
  0 siblings, 1 reply; 10+ messages in thread
From: Dave Love @ 2017-09-11 20:40 UTC (permalink / raw)
  To: 28423

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

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


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

From b4807fe0ea923d9a92675a063384cfb397096f26 Mon Sep 17 00:00:00 2001
From: Dave Love <fx@gnu.org>
Date: Tue, 1 Aug 2017 17:56:03 +0100
Subject: [PATCH 1/4] gnu: Add imb-openmpi.

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

diff --git a/gnu/packages/mpi.scm b/gnu/packages/mpi.scm
index 031bce035..6120b990c 100644
--- a/gnu/packages/mpi.scm
+++ b/gnu/packages/mpi.scm
@@ -199,3 +199,60 @@ This version has an implementation of `MPI_Init_thread' that provides
 ‘MPI_THREAD_MULTIPLE’.  This won't work correctly with all transports (e.g.
 openib), and the performance is generally worse than the vanilla openmpi
 package, which only provides ‘MPI_THREAD_FUNNELED’."))))
+
+;; Parameterized in anticipation of m(va)pich
+(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)))
+    (propagated-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 ((bin (string-append (assoc-ref outputs "out") "/bin")))
+               (mkdir-p bin)
+               (zero?
+                (system
+                 (string-append
+                  "cd imb/src && install -m755 IMB-IO IMB-EXT IMB-MPI1 IMB-NBC IMB-RMA "
+                  bin)))))))))
+    (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:
+ * Performance of a cluster system, including node performance,
+   network latency, and throughput;
+ * Efficiency of the MPI implementation.
+
+This is the ~a version" (package-name mpi)))
+    (license cpl1.0)))
+
+(define-public imb-openmpi (imb openmpi))
-- 
2.11.0


^ permalink raw reply related	[flat|nested] 10+ messages in thread

* [bug#28423] gnu: Add imb-openmpi.
  2017-09-11 20:40 [bug#28423] gnu: Add imb-openmpi Dave Love
@ 2017-09-11 20:47 ` Dave Love
  2017-09-12 13:06   ` Ludovic Courtès
  0 siblings, 1 reply; 10+ messages in thread
From: Dave Love @ 2017-09-11 20:47 UTC (permalink / raw)
  To: 28423

[-- 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


^ permalink raw reply related	[flat|nested] 10+ messages in thread

* [bug#28423] gnu: Add imb-openmpi.
  2017-09-11 20:47 ` Dave Love
@ 2017-09-12 13:06   ` Ludovic Courtès
  2017-09-28 20:09     ` Ludovic Courtès
  0 siblings, 1 reply; 10+ messages in thread
From: Ludovic Courtès @ 2017-09-12 13:06 UTC (permalink / raw)
  To: Dave Love; +Cc: 28423

Heya,

Dave Love <fx@gnu.org> skribis:

> 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.

[...]

> +    (inputs
> +     `((,(package-name mpi) ,mpi)))

Rather:

  `(("mpi" ,mpi))

> +         (replace 'build
> +           (lambda* _
> +             (let ((mpi-home (dirname (dirname (which "mpicc")))))

I'd suggest:

  (lambda* (#:key inputs #:allow-other-keys)
    (let ((mpi (assoc-ref inputs "mpi")))
      ...))

> +               (zero?
> +                ;; Not safe for parallel build
> +                (system
> +                 (format #f "make -C imb/src -f make_mpich SHELL=sh MPI_HOME=~a"
> +                         mpi-home))))))

Rather use ‘system*’ to avoid going through the shell.

> +                 (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))))))))))

Likewise, use ‘copy-file’ and ‘copy-recursively’ rather than shelling
out.

> +    (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)))

Please avoid constructing synopsis/description strings as this prevents
i18n.

My suggestion would be to either leave them unchanged, which should be
good enough anyway, or to just modify the synopsis but then arrange to
have the whole string translated.

Could you send an updated patch?

Thanks,
Ludo’.

^ permalink raw reply	[flat|nested] 10+ messages in thread

* [bug#28423] gnu: Add imb-openmpi.
  2017-09-12 13:06   ` Ludovic Courtès
@ 2017-09-28 20:09     ` Ludovic Courtès
  2017-10-02 20:45       ` Dave Love
  0 siblings, 1 reply; 10+ messages in thread
From: Ludovic Courtès @ 2017-09-28 20:09 UTC (permalink / raw)
  To: Dave Love; +Cc: 28423

Ping!  :-)

ludo@gnu.org (Ludovic Courtès) skribis:

> Heya,
>
> Dave Love <fx@gnu.org> skribis:
>
>> 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.
>
> [...]
>
>> +    (inputs
>> +     `((,(package-name mpi) ,mpi)))
>
> Rather:
>
>   `(("mpi" ,mpi))
>
>> +         (replace 'build
>> +           (lambda* _
>> +             (let ((mpi-home (dirname (dirname (which "mpicc")))))
>
> I'd suggest:
>
>   (lambda* (#:key inputs #:allow-other-keys)
>     (let ((mpi (assoc-ref inputs "mpi")))
>       ...))
>
>> +               (zero?
>> +                ;; Not safe for parallel build
>> +                (system
>> +                 (format #f "make -C imb/src -f make_mpich SHELL=sh MPI_HOME=~a"
>> +                         mpi-home))))))
>
> Rather use ‘system*’ to avoid going through the shell.
>
>> +                 (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))))))))))
>
> Likewise, use ‘copy-file’ and ‘copy-recursively’ rather than shelling
> out.
>
>> +    (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)))
>
> Please avoid constructing synopsis/description strings as this prevents
> i18n.
>
> My suggestion would be to either leave them unchanged, which should be
> good enough anyway, or to just modify the synopsis but then arrange to
> have the whole string translated.
>
> Could you send an updated patch?
>
> Thanks,
> Ludo’.

^ permalink raw reply	[flat|nested] 10+ messages in thread

* [bug#28423] gnu: Add imb-openmpi.
  2017-09-28 20:09     ` Ludovic Courtès
@ 2017-10-02 20:45       ` Dave Love
  2017-10-03 12:47         ` Ludovic Courtès
  0 siblings, 1 reply; 10+ messages in thread
From: Dave Love @ 2017-10-02 20:45 UTC (permalink / raw)
  To: Ludovic Courtès; +Cc: 28423

Ludovic Courtès <ludo@gnu.org> writes:

> Ping!  :-)
>
I think I was waiting for an explanation of the doc string rules for
translation, and why they seem to be different from what gettext
say in terms of placeholders in format strings.  I think that needs
documenting anyhow.

Anyhow, I'll sort out a new version when I have a chance.

^ permalink raw reply	[flat|nested] 10+ messages in thread

* [bug#28423] gnu: Add imb-openmpi.
  2017-10-02 20:45       ` Dave Love
@ 2017-10-03 12:47         ` Ludovic Courtès
  2017-10-03 16:57           ` Dave Love
  0 siblings, 1 reply; 10+ messages in thread
From: Ludovic Courtès @ 2017-10-03 12:47 UTC (permalink / raw)
  To: Dave Love; +Cc: 28423

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

Hi Dave,

Dave Love <fx@gnu.org> skribis:

> Ludovic Courtès <ludo@gnu.org> writes:
>
>> Ping!  :-)
>>
> I think I was waiting for an explanation

You didn’t ask though, did you?  ;-)

> of the doc string rules for translation, and why they seem to be
> different from what gettext say in terms of placeholders in format
> strings.  I think that needs documenting anyhow.

In po/packages/Makevars, we define only two keywords for translatable
strings: ‘synopsis’ and ‘description’.  Thus, xgettext will extract this
string:

  (synopsis "This is translatable")

but it will not extract this:

  (synopsis (string-append "This is " "not translatable"))

I’ve added a note in the manual (below).

HTH,
Ludo’.


[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: Type: text/x-patch, Size: 933 bytes --]

diff --git a/doc/guix.texi b/doc/guix.texi
index c57c0bab6..9e301d007 100644
--- a/doc/guix.texi
+++ b/doc/guix.texi
@@ -19147,6 +19147,18 @@ Translation Project} so that as many users as possible can read them in
 their native language.  User interfaces search them and display them in
 the language specified by the current locale.
 
+To allow @command{xgettext} to extract them as translatable strings,
+synopses and descriptions @emph{must be literal strings}.  This means
+that you cannot use @code{string-append} or @code{format} to construct
+these strings:
+
+@lisp
+(package
+  ;; @dots{}
+  (synopsis "This is translatable")
+  (description (string-append "This is " "*not*" " translatable.")))
+@end lisp
+
 Translation is a lot of work so, as a packager, please pay even more
 attention to your synopses and descriptions as every change may entail
 additional work for translators.  In order to help them, it is possible

^ permalink raw reply related	[flat|nested] 10+ messages in thread

* [bug#28423] gnu: Add imb-openmpi.
  2017-10-03 12:47         ` Ludovic Courtès
@ 2017-10-03 16:57           ` Dave Love
  2017-10-03 19:51             ` Ludovic Courtès
  0 siblings, 1 reply; 10+ messages in thread
From: Dave Love @ 2017-10-03 16:57 UTC (permalink / raw)
  To: Ludovic Courtès; +Cc: 28423

Ludovic Courtès <ludo@gnu.org> writes:

> You didn’t ask though, did you?  ;-)

I thought I had, twice.  Oh, well, sorry!

>> of the doc string rules for translation, and why they seem to be
>> different from what gettext say in terms of placeholders in format
>> strings.  I think that needs documenting anyhow.
>
> In po/packages/Makevars, we define only two keywords for translatable
> strings: ‘synopsis’ and ‘description’.  Thus, xgettext will extract this
> string:
>
>   (synopsis "This is translatable")
>
> but it will not extract this:
>
>   (synopsis (string-append "This is " "not translatable"))

The question would have been why

  (format-string #f ("Package variant ~a is not translatable" x))

when the sprintf equivalent would be, as I understand what the gettext
doc says.

^ permalink raw reply	[flat|nested] 10+ messages in thread

* [bug#28423] gnu: Add imb-openmpi.
  2017-10-03 16:57           ` Dave Love
@ 2017-10-03 19:51             ` Ludovic Courtès
  2017-10-04 15:32               ` Dave Love
  0 siblings, 1 reply; 10+ messages in thread
From: Ludovic Courtès @ 2017-10-03 19:51 UTC (permalink / raw)
  To: Dave Love; +Cc: 28423

Dave Love <fx@gnu.org> skribis:

> Ludovic Courtès <ludo@gnu.org> writes:
>
>> You didn’t ask though, did you?  ;-)
>
> I thought I had, twice.  Oh, well, sorry!
>
>>> of the doc string rules for translation, and why they seem to be
>>> different from what gettext say in terms of placeholders in format
>>> strings.  I think that needs documenting anyhow.
>>
>> In po/packages/Makevars, we define only two keywords for translatable
>> strings: ‘synopsis’ and ‘description’.  Thus, xgettext will extract this
>> string:
>>
>>   (synopsis "This is translatable")
>>
>> but it will not extract this:
>>
>>   (synopsis (string-append "This is " "not translatable"))
>
> 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")

> when the sprintf equivalent would be, as I understand what the gettext
> doc says.

In the example above, if we define ‘G_’ as an xgettext keyword in
‘Makevars’, the string is indeed extracted.  But that’s not what was
happening here.

HTH!

Ludo’.

^ permalink raw reply	[flat|nested] 10+ messages in thread

* [bug#28423] gnu: Add imb-openmpi.
  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
  0 siblings, 1 reply; 10+ messages in thread
From: Dave Love @ 2017-10-04 15:32 UTC (permalink / raw)
  To: Ludovic Courtès; +Cc: 28423

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

Ludovic Courtès <ludo@gnu.org> 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.


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

From 44b58081283c93e49d00900cc3e29dfd1af0e97a Mon Sep 17 00:00:00 2001
From: Dave Love <fx@gnu.org>
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 <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,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:
+@itemize
+@item
+Performance of a cluster system, including node performance, network latency,
+and throughput;
+@item
+Efficiency of the MPI implementation.
+@end itemize")
+    (license license:cpl1.0)))
+
+(define-public imb-openmpi (imb openmpi))
-- 
2.11.0


^ permalink raw reply related	[flat|nested] 10+ messages in thread

* bug#28423: gnu: Add imb-openmpi.
  2017-10-04 15:32               ` Dave Love
@ 2017-10-05  9:24                 ` Ludovic Courtès
  0 siblings, 0 replies; 10+ messages in thread
From: Ludovic Courtès @ 2017-10-05  9:24 UTC (permalink / raw)
  To: Dave Love; +Cc: 28423-done

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

Dave Love <fx@gnu.org> skribis:

> From 44b58081283c93e49d00900cc3e29dfd1af0e97a Mon Sep 17 00:00:00 2001
> From: Dave Love <fx@gnu.org>
> 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.

Committed with the cosmetic changes below, thank you!

Ludo’.


[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: Type: text/x-patch, Size: 2556 bytes --]

diff --git a/gnu/packages/benchmark.scm b/gnu/packages/benchmark.scm
index e3c2570ef..feed7b545 100644
--- a/gnu/packages/benchmark.scm
+++ b/gnu/packages/benchmark.scm
@@ -27,7 +27,8 @@
   #: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
@@ -114,12 +115,11 @@ is to write a job file matching the I/O load one wants to simulate.")
     (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")))
+      (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
@@ -139,7 +139,7 @@ is to write a job file matching the I/O load one wants to simulate.")
          (replace 'install
            (lambda* (#:key outputs #:allow-other-keys)
              (let* ((out (assoc-ref outputs "out"))
-                    (doc (string-append out "/share/doc"))
+                    (doc (string-append out "/share/doc/" ,name))
                     (bin (string-append out "/bin")))
                (with-directory-excursion "imb/src"
                  (for-each
@@ -153,9 +153,11 @@ is to write a job file matching the I/O load one wants to simulate.")
     (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:
+     "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:
+
 @itemize
 @item
 Performance of a cluster system, including node performance, network latency,

^ permalink raw reply related	[flat|nested] 10+ messages in thread

end of thread, other threads:[~2017-10-05  9:25 UTC | newest]

Thread overview: 10+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2017-09-11 20:40 [bug#28423] gnu: Add imb-openmpi Dave Love
2017-09-11 20:47 ` Dave Love
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

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).