[PATCH] gnu: openmpi: Upgrade to 4.0.0.

  • Done
  • quality assurance status badge
Details
2 participants
  • ericbavier
  • Ricardo Wurmus
Owner
unassigned
Submitted by
ericbavier
Severity
normal

Debbugs page

ericbavier wrote 6 years ago
(address . guix-patches@gnu.org)(name . Eric Bavier)(address . bavier@member.fsf.org)
20190208150622.11377-1-ericbavier@centurylink.net
From: Eric Bavier <bavier@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(-)

Toggle diff (105 lines)
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@member.fsf.org>
+;;; Copyright © 2014, 2015, 2018, 2019 Eric Bavier <bavier@member.fsf.org>
;;; Copyright © 2014, 2015, 2016, 2017, 2018, 2019 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2014 Ian Denhardt <ian@zenhack.net>
;;; Copyright © 2016 Andreas Enge <andreas@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
Eric Bavier wrote 6 years ago
(name . Ricardo Wurmus)(address . rekado@elephly.net)
20190208223121.6666f3fd@centurylink.net
On Fri, 08 Feb 2019 19:31:49 +0100
Ricardo Wurmus <rekado@elephly.net> wrote:

Toggle quote (17 lines)
> Hi Eric,
>
> ericbavier@centurylink.net writes:
>
> > From: Eric Bavier <bavier@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.

Toggle quote (4 lines)
>
> (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
-----BEGIN PGP SIGNATURE-----

iQIzBAEBCgAdFiEEoMXjUi7471xkzbfw/XPKxxnTJWYFAlxeV5oACgkQ/XPKxxnT
JWZYyhAAn8TLjQIsZtng0nGTljcydrlXOITvQ6nDXc6Rkx6EtwxWYDJXhHvbBx3r
CL5Zw8SS2kUvt2ZjJAN3AcINRxIUBPs4gkw9oTusIWc3HANYqfhNhFrJd8Be5GLE
IXTfZu6tbulVXOtQgGJEij65UGe9StKqES+oZQFvNXM+YOGOVdr2/4LCWQh1dZR3
jgSE/BxRQal5chOfpL8JmftOIv42mENdpQACAy/UehwP4pm9GxbbA1EX7pbuuV5T
JJFD0TOemxvzpvWig+WN1DcAgNCCSce+yTcQ0uG4/oaecGSCgQswAWiBYj3SA6cK
HTWueH51oE2ugq4DZDuE03uxRCgmLJU7H4qcY0xx4JrYNFA+NI287JrP239Yhq/H
QU4stMERNdEz1i4CqEHC66QnQiex0fDE8ROhhUmKjhdMS96evNv6CKqygw4M0auP
A4ljL+SF2QuCGdvzw3TyDCHPf5WHQ0W7BWDvEpp079qcWaH6Si+kKQXh7mJUC48c
G9xcYOI8TmbJtN2s2qeLlVCNU37l/G4Y5r+COHt80c5N/m4bMnkRam+KoAK2pW8s
cXuQCXouWhRHpV11fIHCfXiIP5qtkn7Arz1rr+Us8Fy75NeT0w0eC40Zlm2jJKNQ
3AT4JPayov6uDGa2p6pOF5UshqVeqll+YamcHdtZjaEl8xZFdzc=
=OzMS
-----END PGP SIGNATURE-----


Eric Bavier wrote 6 years ago
(name . Ricardo Wurmus)(address . rekado@elephly.net)(address . 34388-done@debbugs.gnu.org)
20190209005515.2df9d39d@centurylink.net
On Fri, 8 Feb 2019 22:31:21 -0600
Eric Bavier <ericbavier@centurylink.net> wrote:

Toggle quote (22 lines)
> On Fri, 08 Feb 2019 19:31:49 +0100
> Ricardo Wurmus <rekado@elephly.net> wrote:
>
> > Hi Eric,
> >
> > ericbavier@centurylink.net writes:
> >
> > > From: Eric Bavier <bavier@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
-----BEGIN PGP SIGNATURE-----

iQIzBAEBCgAdFiEEoMXjUi7471xkzbfw/XPKxxnTJWYFAlxeeVMACgkQ/XPKxxnT
JWaIOQ/+MHXIldhYO4n3c6RDsIVZUHyLo/+9RkAjVf0YCndvlp4wv3Og7UEhNQV1
4ywMY/MMkOld5nr43Kq2i3K8qcvsDkGEP9/k4tHGZ+Y1vxszCGAbPe62OD0UWTyU
aI8CY1IPqZrVT9gZx68pWSvOPyUBHRYNQ6CJdmsIFL85OgHeoNqqNQMNiMADJ3x6
oyzh+vThTYBeiRnoB88brUTkt/OyTiM23pwO2XZSN+py4udeXwuzT6YxmMCGtaMe
gTC8c4TV7bQKTdKuDdb7JUbireO5lbp4yNPzWMu3L3F5wrIMCLi12NIgkPzv3vqN
+RX6C5pO9TmQ1Hwsv9wKEPecbxs/lWXIxWL/IKfXMWGbnonNoTlcwSD+v6w4mmYq
3giGIdr8DhoWUHYxGMOVoH46jGpL6qpL07yEeNdiSJU+8IHhZDw4hHD9HegoqfI2
HnXdUEkLTDYX88p/UYlp2Wx810B58GYdnBzegVrL0IhMuO6QwSrf7uxmEafsfaHy
3uSwdFHSdOdnj/H6mma7g6iwSn7BogeztxGpZTjwt7SvVa04SvJ3qv0akk39Jf9F
wxpT/EgO8kiv+yI4rxh8kjLZrnM6yY9gQEfmrrnOHpQp+PhaIShQ1xBBJPfkxIRh
3ghTqEKe8xPnclw2scKpeelH4Z0bM187yuKYTVxRJNvN9S/qUV4=
=gza7
-----END PGP SIGNATURE-----


Closed
Ricardo Wurmus wrote 6 years ago
(address . ericbavier@centurylink.net)
87bm3mm8ru.fsf@elephly.net
Hi Eric,

ericbavier@centurylink.net writes:

Toggle quote (11 lines)
> From: Eric Bavier <bavier@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
?
Your comment

This issue is archived.

To comment on this conversation send an email to 34388@debbugs.gnu.org

To respond to this issue using the mumi CLI, first switch to it
mumi current 34388
Then, you may apply the latest patchset in this issue (with sign off)
mumi am -- -s
Or, compose a reply to this issue
mumi compose
Or, send patches to this issue
mumi send-email *.patch
You may also tag this issue. See list of standard tags. For example, to set the confirmed and easy tags
mumi command -t +confirmed -t +easy
Or, remove the moreinfo tag and set the help tag
mumi command -t -moreinfo -t +help