unofficial mirror of guix-patches@gnu.org 
 help / color / mirror / code / Atom feed
* [bug#27850] gnu: mpi: openmpi: Don't enable thread-multiple
@ 2017-07-27 15:01 Dave Love
  2017-07-31 15:16 ` Ludovic Courtès
  0 siblings, 1 reply; 13+ messages in thread
From: Dave Love @ 2017-07-27 15:01 UTC (permalink / raw)
  To: 27850

[-- Attachment #1: Type: text/plain, Size: 184 bytes --]

The performance penalty for thread-multiple is supposed to be mitigated
in the most recent openmpi, but not in this version, and most
applications are happy with MPI_THREAD_FUNNELED.


[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: 0001-gnu-mpi-openmpi-Don-t-enable-thread-multiple.patch --]
[-- Type: text/x-diff, Size: 1988 bytes --]

From b860f75ed48c6d15e8f19b80ceede315df4db1fe Mon Sep 17 00:00:00 2001
From: Dave Love <fx@gnu.org>
Date: Thu, 27 Jul 2017 15:52:34 +0100
Subject: [PATCH] gnu: mpi: openmpi: Don't enable thread-multiple. gnu: mpi:
 openmpi-thread-multiple: Version with thread-multiple enabled.

* gnu/packages/mpi.scm (openmpi): Don't enable thread-multiple.
The support affects performance significantly.
(openmpi-thread-multiple): New package.
---
 gnu/packages/mpi.scm | 18 +++++++++++++++++-
 1 file changed, 17 insertions(+), 1 deletion(-)

diff --git a/gnu/packages/mpi.scm b/gnu/packages/mpi.scm
index 54fdd35ad..678d7dd88 100644
--- a/gnu/packages/mpi.scm
+++ b/gnu/packages/mpi.scm
@@ -130,10 +130,10 @@ bind processes, and much more.")
     (native-inputs
      `(("pkg-config" ,pkg-config)
        ("perl" ,perl)))
+    (outputs '("out" "lib" "debug"))
     (arguments
      `(#:configure-flags `("--enable-static"
 
-                           "--enable-mpi-thread-multiple"
                            "--enable-builtin-atomics"
 
                            "--enable-mpi-ext=all"
@@ -182,3 +182,19 @@ 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 (string-append (package-description openmpi)
+                                "\
+
+This version of openmpi has an implementation of MPI_Init_thread that provides
+MPI_THREAD_MULTIPLE.  This won't work correctly with all transports (such as
+openib), and the performance is generally worse than the vanilla openmpi
+package, which only provides MPI_THREAD_FUNNELED."))))
-- 
2.11.0


^ permalink raw reply related	[flat|nested] 13+ messages in thread

end of thread, other threads:[~2017-09-07 16:18 UTC | newest]

Thread overview: 13+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2017-07-27 15:01 [bug#27850] gnu: mpi: openmpi: Don't enable thread-multiple Dave Love
2017-07-31 15:16 ` Ludovic Courtès
2017-07-31 18:09   ` Dave Love
2017-08-01  9:27     ` Ludovic Courtès
2017-08-01 16:06       ` Dave Love
2017-08-01 17:39         ` Ludovic Courtès
2017-08-01 20:10           ` Dave Love
2017-08-21 13:17             ` bug#27850: " Ludovic Courtès
2017-08-23 11:08               ` [bug#27850] " Dave Love
2017-08-23 21:34                 ` Ludovic Courtès
2017-09-01 10:35                   ` Dave Love
2017-09-01 22:10                     ` Ludovic Courtès
2017-09-07 16:16                       ` Dave Love

Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/guix.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).