From b38827096f6c3229ed6bfbfda3eaa28d78f3cbaa Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice Date: Mon, 10 Sep 2018 22:42:48 +0200 Subject: gnu: mcrl2: Use HTTPS home page. * gnu/packages/maths.scm (mcrl2)[home-page]: Use HTTPS. --- gnu/packages/maths.scm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'gnu/packages/maths.scm') diff --git a/gnu/packages/maths.scm b/gnu/packages/maths.scm index 01bd03c600..4e1347e8fc 100644 --- a/gnu/packages/maths.scm +++ b/gnu/packages/maths.scm @@ -3975,7 +3975,7 @@ (define-public mcrl2 state-space exploration and generation, and tools to optimise and analyse specifications. Also, state spaces can be manipulated, visualised and analysed.") - (home-page "http://mcrl2.org") + (home-page "https://mcrl2.org") (license license:boost1.0))) (define-public r-subplex -- cgit v1.2.3 From aa82260bc098c3a2142230c6b787c39c00843ce1 Mon Sep 17 00:00:00 2001 From: Paul Garlick Date: Tue, 11 Sep 2018 09:38:39 +0100 Subject: gnu: arpack-ng-openmpi: Fix build. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * gnu/packages/maths.scm (arpack-ng-openmpi)[arguments]: Add 'set-test-environment phase. Signed-off-by: Ludovic Courtès --- gnu/packages/maths.scm | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) (limited to 'gnu/packages/maths.scm') diff --git a/gnu/packages/maths.scm b/gnu/packages/maths.scm index 4e1347e8fc..d1db75e658 100644 --- a/gnu/packages/maths.scm +++ b/gnu/packages/maths.scm @@ -508,7 +508,17 @@ (define-public arpack-ng-openmpi (arguments (substitute-keyword-arguments (package-arguments arpack-ng) ((#:configure-flags _ '()) - ''("--enable-mpi")))) + ''("--enable-mpi")) + ((#:phases phases '%standard-phases) + `(modify-phases ,phases + (add-before 'check 'set-test-environment + (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 "cat")) + #t)))))) (synopsis "Fortran subroutines for solving eigenvalue problems with MPI"))) (define-public lapack -- cgit v1.2.3 From bbe46a4af5972b3b5b434fe5d99ec9a0078b0ab8 Mon Sep 17 00:00:00 2001 From: Eric Bavier Date: Thu, 16 Aug 2018 15:47:41 -0500 Subject: 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. --- gnu/packages/maths.scm | 102 ++++++++++--------------------------------------- gnu/packages/mpi.scm | 14 ++++++- 2 files changed, 34 insertions(+), 82 deletions(-) (limited to 'gnu/packages/maths.scm') diff --git a/gnu/packages/maths.scm b/gnu/packages/maths.scm index d1db75e658..af41093fbb 100644 --- a/gnu/packages/maths.scm +++ b/gnu/packages/maths.scm @@ -511,14 +511,8 @@ (define-public arpack-ng-openmpi ''("--enable-mpi")) ((#:phases phases '%standard-phases) `(modify-phases ,phases - (add-before 'check 'set-test-environment - (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 "cat")) - #t)))))) + (add-before 'check 'mpi-setup + ,%openmpi-setup))))) (synopsis "Fortran subroutines for solving eigenvalue problems with MPI"))) (define-public lapack @@ -579,14 +573,8 @@ (define-public scalapack (arguments `(#:configure-flags `("-DBUILD_SHARED_LIBS:BOOL=YES") #:phases (modify-phases %standard-phases - (add-before 'check 'set-test-environment - (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 "cat")) - #t))))) + (add-before 'check 'mpi-setup + ,%openmpi-setup)))) (home-page "http://www.netlib.org/scalapack/") (synopsis "Library for scalable numerical linear algebra") (description @@ -1717,14 +1705,8 @@ (define-public petsc-openmpi ,@(delete "--with-mpi=0" ,cf))) ((#:phases phases) `(modify-phases ,phases - (add-before 'check 'set-test-environment - (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 "cat")) - #t)))))) + (add-before 'check 'mpi-setup + ,%openmpi-setup))))) (synopsis "Library to solve PDEs (with MPI support)"))) (define-public petsc-complex-openmpi @@ -1855,14 +1837,8 @@ (define-public slepc-openmpi (substitute-keyword-arguments (package-arguments slepc) ((#:phases phases '%standard-phases) `(modify-phases ,phases - (add-before 'check 'set-test-environment - (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 "cat")) - #t)))))) + (add-before 'check 'mpi-setup + ,%openmpi-setup))))) (inputs `(("mpi" ,openmpi) ("arpack" ,arpack-ng-openmpi) @@ -2032,14 +2008,8 @@ (define-public mumps-openmpi (substitute-keyword-arguments (package-arguments mumps) ((#:phases phases) `(modify-phases ,phases - (add-before 'check 'set-test-environment - (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 "cat")) - #t)) + (add-before 'check 'mpi-setup + ,%openmpi-setup) (replace 'check (lambda _ ((assoc-ref ,phases 'check) @@ -2285,13 +2255,10 @@ (define-public superlu-dist "/" dir))) '("lib" "include")) #t)) + (add-before 'check 'mpi-setup + ,%openmpi-setup) (replace 'check (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 "cat")) (with-directory-excursion "EXAMPLE" (invoke "mpirun" "-n" "2" "./pddrive" "-r" "1" "-c" "2" "g20.rua") @@ -2384,15 +2351,8 @@ (define-public scotch ;; "SCOTCH_PTHREAD_NUMBER=2" "restrict=__restrict")))) #t)) - (add-after - 'build 'build-esmumps + (add-after 'build 'build-esmumps (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 "cat")) - (invoke "make" (format #f "-j~a" (parallel-job-count)) "esmumps"))) @@ -2575,14 +2535,8 @@ (define-public p4est (assoc-ref %build-inputs "lapack") " -llapack")) #:phases (modify-phases %standard-phases - (add-before 'check 'set-test-environment - (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 "cat")) - #t))))) + (add-before 'check 'mpi-setup + ,%openmpi-setup)))) (home-page "http://www.p4est.org") (synopsis "Adaptive mesh refinement on forests of octrees") (description @@ -3649,14 +3603,8 @@ (define-public hypre-openmpi ,@(delete "--without-MPI" ,flags))) ((#:phases phases) `(modify-phases ,phases - (add-before 'check 'set-test-environment - (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 "cat")) - #t)))))) + (add-before 'check 'mpi-setup + ,%openmpi-setup))))) (synopsis "Parallel solvers and preconditioners for linear equations") (description "HYPRE is a software library of high performance preconditioners and @@ -3939,6 +3887,8 @@ (define-public elemental "-DCMAKE_INSTALL_LIBDIR=lib" "-DGFORTRAN_LIB=gfortran") #:phases (modify-phases %standard-phases + (add-before 'check 'mpi-setup + ,%openmpi-setup) (add-before 'check 'setup-tests (lambda _ ;; Parallelism is done at the MPI layer. @@ -4123,16 +4073,6 @@ (define-public sundials-openmpi ,flags)) ((#:phases phases '%standard-phases) `(modify-phases ,phases - (add-before 'check 'set-test-environment - (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 "cat")) - ;; Allow oversubscription in case there are less - ;; physical cores available in the build environment - ;; than SUNDIALS wants while testing. - (setenv "OMPI_MCA_rmaps_base_oversubscribe" "yes") - #t)))))) + (add-before 'check 'mpi-setup + ,%openmpi-setup))))) (synopsis "SUNDIALS with OpenMPI support"))) diff --git a/gnu/packages/mpi.scm b/gnu/packages/mpi.scm index f34b08e4ca..7dfec16fc7 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 Eric Bavier +;;; Copyright © 2014, 2015, 2018 Eric Bavier ;;; Copyright © 2014, 2015, 2016, 2017, 2018 Ludovic Courtès ;;; Copyright © 2014 Ian Denhardt ;;; Copyright © 2016 Andreas Enge @@ -250,3 +250,15 @@ (define-public openmpi-thread-multiple 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)) -- cgit v1.2.3