>From 9f6330bcc336eae6aedc78f56c1ebbbf30ae0b2d Mon Sep 17 00:00:00 2001 From: Dave Love Date: Mon, 31 Jul 2017 14:54:29 +0100 Subject: [PATCH 2/8] gnu: Add openmpi-thread-multiple and modify openmpi accordingly. thread-multiple support hurts performance even if it's not used. * gnu/packages/mpi.scm (openmpi)[arguments]: Don't enable thread-multiple. --- gnu/packages/mpi.scm | 17 ++++++++++++++++- 1 file changed, 16 insertions(+), 1 deletion(-) diff --git a/gnu/packages/mpi.scm b/gnu/packages/mpi.scm index 968eb8870..aa0b78237 100644 --- a/gnu/packages/mpi.scm +++ b/gnu/packages/mpi.scm @@ -133,7 +133,6 @@ bind processes, and much more.") (arguments `(#:configure-flags `("--enable-static" - "--enable-mpi-thread-multiple" "--enable-builtin-atomics" "--enable-mpi-ext=all" @@ -183,2 +182,18 @@ 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 has an implementation of `MPI_Init_thread' that provides +‘MPI_THREAD_MULTIPLE’. This won't work correctly with all transports (e.g. +openib), and the performance is generally worse than the vanilla openmpi +package, which only provides ‘MPI_THREAD_FUNNELED’.")))) -- 2.11.0