diff options
author | Eric Bavier <bavier@member.fsf.org> | 2019-01-31 23:03:35 -0600 |
---|---|---|
committer | Eric Bavier <bavier@member.fsf.org> | 2019-02-09 00:50:16 -0600 |
commit | 41313acebf39e04c9ddd0857b8cd8b69991c88c3 (patch) | |
tree | 693b76d14636ef2c4887f8b575642ec96e14a5dc /gnu/packages/mpi.scm | |
parent | 1482531cd7d0f1f7e565207240affb68dd822e17 (diff) | |
download | guix-41313acebf39e04c9ddd0857b8cd8b69991c88c3.tar.gz |
gnu: openmpi: Upgrade to 4.0.0.
* 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.
Diffstat (limited to 'gnu/packages/mpi.scm')
-rw-r--r-- | gnu/packages/mpi.scm | 29 |
1 files changed, 13 insertions, 16 deletions
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 |