From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:48591) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1dcCRQ-0001EX-AJ for guix-patches@gnu.org; Mon, 31 Jul 2017 11:17:14 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1dcCRK-0003qv-9B for guix-patches@gnu.org; Mon, 31 Jul 2017 11:17:08 -0400 Received: from debbugs.gnu.org ([208.118.235.43]:32824) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1dcCRK-0003qR-5C for guix-patches@gnu.org; Mon, 31 Jul 2017 11:17:02 -0400 Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1dcCRJ-0004WO-Lw for guix-patches@gnu.org; Mon, 31 Jul 2017 11:17:01 -0400 Subject: [bug#27850] gnu: mpi: openmpi: Don't enable thread-multiple Resent-Message-ID: From: ludovic.courtes@inria.fr (Ludovic =?UTF-8?Q?Court=C3=A8s?=) References: <87wp6thqjc.fsf@i-ulialbion.it.manchester.ac.uk> Date: Mon, 31 Jul 2017 17:16:15 +0200 In-Reply-To: <87wp6thqjc.fsf@i-ulialbion.it.manchester.ac.uk> (Dave Love's message of "Thu, 27 Jul 2017 16:01:59 +0100") Message-ID: <87379c4oxs.fsf@gnu.org> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable 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: Dave Love Cc: 27850@debbugs.gnu.org Hi Dave, Dave Love skribis: > 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. > >>>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: mp= i: > 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")) This should go to a separate patch. Also please check the relative size of each output and the =E2=80=9Ctypical=E2=80=9D closure size of openmpi us= ers, to motivate the need for a separate =E2=80=9Clib=E2=80=9D output (the =E2=80= =9Cdebug=E2=80=9D output is OK.) I suspect some of the packages that depend on openmpi need to be changed to have a dependency on both the =E2=80=9Cout=E2=80=9D and the =E2=80=9Clib= =E2=80=9D outputs, no? > (arguments > `(#:configure-flags `("--enable-static" >=20=20 > - "--enable-mpi-thread-multiple" Should we upgrade our openmpi package instead of doing this? > + (description (string-append (package-description openmpi) > + "\ > + > +This version of openmpi has an implementation of MPI_Init_thread that pr= ovides > +MPI_THREAD_MULTIPLE. This won't work correctly with all transports (suc= h as > +openib), and the performance is generally worse than the vanilla openmpi > +package, which only provides MPI_THREAD_FUNNELED.")))) Nitpick: we use literal strings in =E2=80=98description=E2=80=99 and =E2=80= =98strings=E2=80=99 so that they are picked up by xgettext for translation. Thanks for looking into this! Ludo=E2=80=99.