GNU bug report logs - #34388
[PATCH] gnu: openmpi: Upgrade to 4.0.0.

Previous Next

Package: guix-patches;

Reported by: ericbavier <at> centurylink.net

Date: Fri, 8 Feb 2019 15:08:02 UTC

Severity: normal

Tags: patch

Done: Eric Bavier <ericbavier <at> centurylink.net>

Bug is archived. No further changes may be made.

To add a comment to this bug, you must first unarchive it, by sending
a message to control AT debbugs.gnu.org, with unarchive 34388 in the body.
You can then email your comments to 34388 AT debbugs.gnu.org in the normal way.

Toggle the display of automated, internal messages from the tracker.

View this report as an mbox folder, status mbox, maintainer mbox


Report forwarded to guix-patches <at> gnu.org:
bug#34388; Package guix-patches. (Fri, 08 Feb 2019 15:08:02 GMT) Full text and rfc822 format available.

Acknowledgement sent to ericbavier <at> centurylink.net:
New bug report received and forwarded. Copy sent to guix-patches <at> gnu.org. (Fri, 08 Feb 2019 15:08:02 GMT) Full text and rfc822 format available.

Message #5 received at submit <at> debbugs.gnu.org (full text, mbox):

From: ericbavier <at> centurylink.net
To: guix-patches <at> gnu.org
Cc: Eric Bavier <bavier <at> member.fsf.org>
Subject: [PATCH] gnu: openmpi: Upgrade to 4.0.0.
Date: Fri,  8 Feb 2019 09:06:22 -0600
From: Eric Bavier <bavier <at> member.fsf.org>

* gnu/packages/linux.scm (psm)[arguments]: Add 'patch-sysmacros phase to fix
"undefined reference to `minor'" errors while linking against
libinfinipath.so.
* gnu/packages/mpi.scm (openmpi): Upgrade to 4.0.0.
[inputs]: Add libevent.
[arguments]: Simplify configure-flags.  Use system libevent.  Adjust romio
version strings.
(%openmpi-setup): Use OMPI_MCA_rmaps_base_mapping_policy for oversubscription.
---
 gnu/packages/linux.scm |  7 +++++++
 gnu/packages/mpi.scm   | 29 +++++++++++++----------------
 2 files changed, 20 insertions(+), 16 deletions(-)

diff --git a/gnu/packages/linux.scm b/gnu/packages/linux.scm
index b1dfb7f701..66a1ad4508 100644
--- a/gnu/packages/linux.scm
+++ b/gnu/packages/linux.scm
@@ -4717,6 +4717,13 @@ libraries, which are often integrated directly into libfabric.")
                          (string-append %output "/include")))
                       (substitute* "Makefile"
                         (("/lib64") "/lib"))
+                      #t))
+                  (add-after 'unpack 'patch-sysmacros
+                    (lambda _
+                      (substitute* "ipath/ipath_proto.c"
+                        (("#include <sys/poll.h>" m)
+                         (string-append m "\n"
+                                        "#include <sys/sysmacros.h>")))
                       #t)))))
     (synopsis "Intel Performance Scaled Messaging (PSM) Libraries")
     (description
diff --git a/gnu/packages/mpi.scm b/gnu/packages/mpi.scm
index 1f69a04bc9..0a43c55b7a 100644
--- a/gnu/packages/mpi.scm
+++ b/gnu/packages/mpi.scm
@@ -1,5 +1,5 @@
 ;;; GNU Guix --- Functional package management for GNU
-;;; Copyright © 2014, 2015, 2018 Eric Bavier <bavier <at> member.fsf.org>
+;;; Copyright © 2014, 2015, 2018, 2019 Eric Bavier <bavier <at> member.fsf.org>
 ;;; Copyright © 2014, 2015, 2016, 2017, 2018, 2019 Ludovic Courtès <ludo <at> gnu.org>
 ;;; Copyright © 2014 Ian Denhardt <ian <at> zenhack.net>
 ;;; Copyright © 2016 Andreas Enge <andreas <at> enge.fr>
@@ -33,6 +33,7 @@
   #:use-module (guix build-system python)
   #:use-module (gnu packages)
   #:use-module (gnu packages gcc)
+  #:use-module (gnu packages libevent)
   #:use-module (gnu packages linux)
   #:use-module (gnu packages pciutils)
   #:use-module (gnu packages xorg)
@@ -157,7 +158,7 @@ bind processes, and much more.")
 (define-public openmpi
   (package
     (name "openmpi")
-    (version "3.0.1")
+    (version "4.0.0")
     (source
      (origin
       (method url-fetch)
@@ -166,12 +167,13 @@ bind processes, and much more.")
                           "/downloads/openmpi-" version ".tar.bz2"))
       (sha256
        (base32
-        "0pbqrm5faf57nasy1s81wqivl7zvxmv8lzjh8hvb0f3qxv8m0d36"))))
+        "0srnjwzsmyhka9hhnmqm86qck4w3xwjm8g6sbns58wzbrwv8l2rg"))))
     (build-system gnu-build-system)
     (inputs
      `(("hwloc" ,hwloc "lib")
        ("gfortran" ,gfortran)
        ("libfabric" ,libfabric)
+       ("libevent" ,libevent)
        ,@(if (and (not (%current-target-system))
                   (member (%current-system) (package-supported-systems psm)))
              `(("psm" ,psm))
@@ -191,16 +193,11 @@ bind processes, and much more.")
      `(#:configure-flags `("--enable-mpi-ext=affinity" ;cr doesn't work
                            "--enable-memchecker"
                            "--with-sge"
-
-                           ;; VampirTrace is obsoleted by scorep and disabling
-                           ;; it reduces the closure size considerably.
-                           "--disable-vt"
-
-                           ,(string-append "--with-valgrind="
-                                           (assoc-ref %build-inputs "valgrind"))
-                           ,(string-append "--with-hwloc="
-                                           (assoc-ref %build-inputs "hwloc"))
-
+                           "--with-psm"
+                           "--with-psm2"
+                           "--with-valgrind"
+                           "--with-hwloc=external"
+                           "--with-libevent"
                            ;; Enable support for SLURM's Process Manager
                            ;; Interface (PMI).
                            ,(string-append "--with-pmi="
@@ -219,8 +216,8 @@ bind processes, and much more.")
                         (("_ABSOLUTE") ""))
                       ;; Avoid valgrind (which pulls in gdb etc.).
                       (substitute*
-                          '("./ompi/mca/io/romio314/src/io_romio314_component.c")
-                        (("MCA_io_romio314_COMPLETE_CONFIGURE_FLAGS")
+                          '("./ompi/mca/io/romio321/src/io_romio321_component.c")
+                        (("MCA_io_romio321_COMPLETE_CONFIGURE_FLAGS")
                          "\"[elided to reduce closure]\""))
                       #t))
                   (add-before 'build 'scrub-timestamps ;reproducibility
@@ -270,7 +267,7 @@ only provides @code{MPI_THREAD_FUNNELED}.")))
      (setenv "OMPI_MCA_plm_rsh_agent" (which "false"))
      ;; Allow oversubscription in case there are less physical cores available
      ;; in the build environment than the package wants while testing.
-     (setenv "OMPI_MCA_rmaps_base_oversubscribe" "yes")
+     (setenv "OMPI_MCA_rmaps_base_mapping_policy" "core:OVERSUBSCRIBE")
      #t))

 (define-public python-mpi4py
--
2.20.1





Information forwarded to guix-patches <at> gnu.org:
bug#34388; Package guix-patches. (Sat, 09 Feb 2019 04:32:02 GMT) Full text and rfc822 format available.

Message #8 received at 34388 <at> debbugs.gnu.org (full text, mbox):

From: Eric Bavier <ericbavier <at> centurylink.net>
To: Ricardo Wurmus <rekado <at> elephly.net>
Cc: 34388 <at> debbugs.gnu.org, Eric Bavier <bavier <at> member.fsf.org>
Subject: Re: [bug#34388] [PATCH] gnu: openmpi: Upgrade to 4.0.0.
Date: Fri, 8 Feb 2019 22:31:21 -0600
[Message part 1 (text/plain, inline)]
On Fri, 08 Feb 2019 19:31:49 +0100
Ricardo Wurmus <rekado <at> elephly.net> wrote:

> Hi Eric,
> 
> ericbavier <at> centurylink.net writes:
> 
> > From: Eric Bavier <bavier <at> member.fsf.org>
> >
> > * gnu/packages/linux.scm (psm)[arguments]: Add 'patch-sysmacros phase to fix
> > "undefined reference to `minor'" errors while linking against
> > libinfinipath.so.
> > * gnu/packages/mpi.scm (openmpi): Upgrade to 4.0.0.
> > [inputs]: Add libevent.
> > [arguments]: Simplify configure-flags.  Use system libevent.  Adjust romio
> > version strings.
> > (%openmpi-setup): Use OMPI_MCA_rmaps_base_mapping_policy for oversubscription.  
> 
> Thank you, this looks good to me!

Thanks for reviewing and providing the nice starting patch.

> 
> (After this has been pushed to the “master” branch I would like to add
> support for Infiniband with a few minor changes.)

Great, I thought I'd leave that to you.

`~Eric
[Message part 2 (application/pgp-signature, inline)]

Reply sent to Eric Bavier <ericbavier <at> centurylink.net>:
You have taken responsibility. (Sat, 09 Feb 2019 06:56:02 GMT) Full text and rfc822 format available.

Notification sent to ericbavier <at> centurylink.net:
bug acknowledged by developer. (Sat, 09 Feb 2019 06:56:02 GMT) Full text and rfc822 format available.

Message #13 received at 34388-done <at> debbugs.gnu.org (full text, mbox):

From: Eric Bavier <ericbavier <at> centurylink.net>
To: Ricardo Wurmus <rekado <at> elephly.net>
Cc: 34388-done <at> debbugs.gnu.org
Subject: Re: [bug#34388] [PATCH] gnu: openmpi: Upgrade to 4.0.0.
Date: Sat, 9 Feb 2019 00:55:15 -0600
[Message part 1 (text/plain, inline)]
On Fri, 8 Feb 2019 22:31:21 -0600
Eric Bavier <ericbavier <at> centurylink.net> wrote:

> On Fri, 08 Feb 2019 19:31:49 +0100
> Ricardo Wurmus <rekado <at> elephly.net> wrote:
> 
> > Hi Eric,
> > 
> > ericbavier <at> centurylink.net writes:
> >   
> > > From: Eric Bavier <bavier <at> member.fsf.org>
> > >
> > > * gnu/packages/linux.scm (psm)[arguments]: Add 'patch-sysmacros phase to fix
> > > "undefined reference to `minor'" errors while linking against
> > > libinfinipath.so.
> > > * gnu/packages/mpi.scm (openmpi): Upgrade to 4.0.0.
> > > [inputs]: Add libevent.
> > > [arguments]: Simplify configure-flags.  Use system libevent.  Adjust romio
> > > version strings.
> > > (%openmpi-setup): Use OMPI_MCA_rmaps_base_mapping_policy for oversubscription.    
> > 
> > Thank you, this looks good to me!  
> 
> Thanks for reviewing and providing the nice starting patch.

Pushed to master in 41313acebf39e04c9ddd0857b8cd8b69991c88c3

`~Eric
[Message part 2 (application/pgp-signature, inline)]

Information forwarded to guix-patches <at> gnu.org:
bug#34388; Package guix-patches. (Sun, 10 Feb 2019 02:22:02 GMT) Full text and rfc822 format available.

Message #16 received at 34388 <at> debbugs.gnu.org (full text, mbox):

From: Ricardo Wurmus <rekado <at> elephly.net>
To: ericbavier <at> centurylink.net
Cc: 34388 <at> debbugs.gnu.org, Eric Bavier <bavier <at> member.fsf.org>
Subject: Re: [bug#34388] [PATCH] gnu: openmpi: Upgrade to 4.0.0.
Date: Fri, 08 Feb 2019 19:31:49 +0100
Hi Eric,

ericbavier <at> centurylink.net writes:

> From: Eric Bavier <bavier <at> member.fsf.org>
>
> * gnu/packages/linux.scm (psm)[arguments]: Add 'patch-sysmacros phase to fix
> "undefined reference to `minor'" errors while linking against
> libinfinipath.so.
> * gnu/packages/mpi.scm (openmpi): Upgrade to 4.0.0.
> [inputs]: Add libevent.
> [arguments]: Simplify configure-flags.  Use system libevent.  Adjust romio
> version strings.
> (%openmpi-setup): Use OMPI_MCA_rmaps_base_mapping_policy for oversubscription.

Thank you, this looks good to me!

(After this has been pushed to the “master” branch I would like to add
support for Infiniband with a few minor changes.)

--
Ricardo





bug archived. Request was from Debbugs Internal Request <help-debbugs <at> gnu.org> to internal_control <at> debbugs.gnu.org. (Sun, 10 Mar 2019 11:24:05 GMT) Full text and rfc822 format available.

This bug report was last modified 5 years and 49 days ago.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.