summary refs log tree commit diff
diff options
context:
space:
mode:
authorDave Love <fx@gnu.org>2017-07-27 15:52:34 +0100
committerLudovic Courtès <ludo@gnu.org>2017-08-21 17:04:54 +0200
commit685bef2bd1d92678c7f7104fee9f6e46438d88f8 (patch)
tree416590f4c1a72433dd226119c1c8a1768aeed620
parentcf684d87d7446ffe33ca4c73bf51dc24fa5a7129 (diff)
downloadguix-685bef2bd1d92678c7f7104fee9f6e46438d88f8.tar.gz
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>
-rw-r--r--gnu/packages/mpi.scm15
1 files changed, 14 insertions, 1 deletions
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}.")))