mirror of
https://https.git.savannah.gnu.org/git/guix.git/
synced 2025-07-17 04:20:44 +02:00
mpi: Factorize openmpi setup build phase.
* gnu/packages/mpi.scm (%openmpi-setup): New variable. * gnu/packages/maths.scm (scalapack, slepc-openmpi, mumps-openmpi) (superlu-dist, p4est, petsc-openmpi, hypre-openmpi, elemental) (sundials-openmpi, arpack-ng-openmpi)[arguments]: Use it in #:phases.
This commit is contained in:
parent
5882078e8c
commit
bbe46a4af5
2 changed files with 34 additions and 82 deletions
|
@ -1,5 +1,5 @@
|
|||
;;; GNU Guix --- Functional package management for GNU
|
||||
;;; Copyright © 2014, 2015 Eric Bavier <bavier@member.fsf.org>
|
||||
;;; Copyright © 2014, 2015, 2018 Eric Bavier <bavier@member.fsf.org>
|
||||
;;; Copyright © 2014, 2015, 2016, 2017, 2018 Ludovic Courtès <ludo@gnu.org>
|
||||
;;; Copyright © 2014 Ian Denhardt <ian@zenhack.net>
|
||||
;;; Copyright © 2016 Andreas Enge <andreas@enge.fr>
|
||||
|
@ -250,3 +250,15 @@ software vendors, application developers and computer science researchers.")
|
|||
work correctly with all transports (such as @code{openib}), and the
|
||||
performance is generally worse than the vanilla @code{openmpi} package, which
|
||||
only provides @code{MPI_THREAD_FUNNELED}.")))
|
||||
|
||||
;;; Build phase to be used for packages that execute MPI code.
|
||||
(define-public %openmpi-setup
|
||||
'(lambda _
|
||||
;; By default, running the test suite would fail because 'ssh' could not
|
||||
;; be found in $PATH. Define this variable to placate Open MPI without
|
||||
;; adding a dependency on OpenSSH (the agent isn't used anyway.)
|
||||
(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")
|
||||
#t))
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue