From 685bef2bd1d92678c7f7104fee9f6e46438d88f8 Mon Sep 17 00:00:00 2001 From: Dave Love Date: Thu, 27 Jul 2017 15:52:34 +0100 Subject: [PATCH] gnu: openmpi: Add separate variant with thread-multiple support. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * gnu/packages/mpi.scm (openmpi)[arguments]: Remove "--enable-mpi-thread-multiple". (openmpi-thread-multiple): New variable. Signed-off-by: Ludovic Courtès --- gnu/packages/mpi.scm | 15 ++++++++++++++- 1 file changed, 14 insertions(+), 1 deletion(-) diff --git a/gnu/packages/mpi.scm b/gnu/packages/mpi.scm index d6423aa6fc..ac7b9b2545 100644 --- a/gnu/packages/mpi.scm +++ b/gnu/packages/mpi.scm @@ -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}.")))