From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:36865) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1dakJe-000215-ET for guix-patches@gnu.org; Thu, 27 Jul 2017 11:03:14 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1dakJa-0003q1-HO for guix-patches@gnu.org; Thu, 27 Jul 2017 11:03:06 -0400 Received: from debbugs.gnu.org ([208.118.235.43]:56118) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1dakJa-0003ps-Em for guix-patches@gnu.org; Thu, 27 Jul 2017 11:03:02 -0400 Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1dakJa-0005Ca-71 for guix-patches@gnu.org; Thu, 27 Jul 2017 11:03:02 -0400 Subject: [bug#27850] gnu: mpi: openmpi: Don't enable thread-multiple Resent-Message-ID: Received: from eggs.gnu.org ([2001:4830:134:3::10]:35505) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1dakIi-0001xz-FL for guix-patches@gnu.org; Thu, 27 Jul 2017 11:02:09 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1dakIc-0003EE-N7 for guix-patches@gnu.org; Thu, 27 Jul 2017 11:02:08 -0400 Received: from clarity.mcc.ac.uk ([130.88.200.144]:55661) by eggs.gnu.org with esmtps (TLS1.0:DHE_RSA_AES_256_CBC_SHA1:32) (Exim 4.71) (envelope-from ) id 1dakIc-0003DB-Gp for guix-patches@gnu.org; Thu, 27 Jul 2017 11:02:02 -0400 Received: from asmtp1.its.manchester.ac.uk ([130.88.13.149]) by clarity.mcc.ac.uk with esmtps (TLSv1:DHE-RSA-AES256-SHA:256) (Exim 4.85 (FreeBSD)) (envelope-from ) id 1dakIa-000Ovn-B1 for guix-patches@gnu.org; Thu, 27 Jul 2017 16:02:00 +0100 Received: from i-ulialbion.it.manchester.ac.uk ([130.88.138.79]:54676) by asmtp1.its.manchester.ac.uk with esmtpsa (TLSv1.2:ECDHE-RSA-AES256-GCM-SHA384:256) (Exim 4.89) (envelope-from ) id 1dakIa-0000rv-1U for guix-patches@gnu.org; Thu, 27 Jul 2017 16:02:00 +0100 From: Dave Love Date: Thu, 27 Jul 2017 16:01:59 +0100 Message-ID: <87wp6thqjc.fsf@i-ulialbion.it.manchester.ac.uk> MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="Lon-Horiuchi-Chemical-weapon-PET-IW-Hugo-Chavez" List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: guix-patches-bounces+kyle=kyleam.com@gnu.org Sender: "Guix-patches" To: 27850@debbugs.gnu.org --Lon-Horiuchi-Chemical-weapon-PET-IW-Hugo-Chavez Content-Type: text/plain 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. --Lon-Horiuchi-Chemical-weapon-PET-IW-Hugo-Chavez Content-Type: text/x-diff Content-Disposition: attachment; filename=0001-gnu-mpi-openmpi-Don-t-enable-thread-multiple.patch >From b860f75ed48c6d15e8f19b80ceede315df4db1fe Mon Sep 17 00:00:00 2001 From: Dave Love 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 --Lon-Horiuchi-Chemical-weapon-PET-IW-Hugo-Chavez--