~ruther/guix-local

685bef2bd1d92678c7f7104fee9f6e46438d88f8 — Dave Love 8 years ago cf684d8
gnu: openmpi: Add separate variant with thread-multiple support.

* gnu/packages/mpi.scm (openmpi)[arguments]: Remove
"--enable-mpi-thread-multiple".
(openmpi-thread-multiple): New variable.

Signed-off-by: Ludovic Courtès <ludovic.courtes@inria.fr>
1 files changed, 14 insertions(+), 1 deletions(-)

M gnu/packages/mpi.scm
M gnu/packages/mpi.scm => gnu/packages/mpi.scm +14 -1
@@ 135,7 135,6 @@ bind processes, and much more.")
    (arguments
     `(#:configure-flags `("--enable-static"

                           "--enable-mpi-thread-multiple"
                           "--enable-builtin-atomics"

                           "--enable-mpi-ext=all"


@@ 184,3 183,17 @@ best MPI library available.  Open MPI offers advantages for system and
software vendors, application developers and computer science researchers.")
    ;; See file://LICENSE
    (license bsd-2)))

(define-public openmpi-thread-multiple
  (package
    (inherit openmpi)
    (name "openmpi-thread-multiple")
    (arguments
     (substitute-keyword-arguments (package-arguments openmpi)
       ((#:configure-flags flags)
        `(cons "--enable-mpi-thread-multiple" ,flags))))
    (description " This version of Open@tie{}MPI has an implementation of
@code{MPI_Init_thread} that provides @code{MPI_THREAD_MULTIPLE}.  This won't
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}.")))