From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:43522) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1dkVHQ-0004Az-D8 for guix-patches@gnu.org; Wed, 23 Aug 2017 09:01:14 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1dkVHK-0004db-EX for guix-patches@gnu.org; Wed, 23 Aug 2017 09:01:08 -0400 Received: from debbugs.gnu.org ([208.118.235.43]:41895) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1dkVHK-0004cn-BM for guix-patches@gnu.org; Wed, 23 Aug 2017 09:01:02 -0400 Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1dkVHJ-00013L-SB for guix-patches@gnu.org; Wed, 23 Aug 2017 09:01:01 -0400 Subject: [bug#27905] changes for openmpi Resent-Message-ID: From: Dave Love References: <87zibja1of.fsf@i-ulialbion.it.manchester.ac.uk> <87h8x1t0op.fsf@gnu.org> Date: Wed, 23 Aug 2017 14:00:53 +0100 In-Reply-To: <87h8x1t0op.fsf@gnu.org> ("Ludovic \=\?iso-8859-1\?Q\?Court\=E8s\?\= \=\?iso-8859-1\?Q\?\=22's\?\= message of "Mon, 21 Aug 2017 17:12:06 +0200") Message-ID: <87d17mh20q.fsf@albion.it.manchester.ac.uk> 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: Ludovic =?UTF-8?Q?Court=C3=A8s?= Cc: 27905@debbugs.gnu.org Ludovic Court=C3=A8s writes: >> * mpi.scm (hwloc)[outputs]: Replace lib with nogui. >> (hwloc)[arguments]: Change configure --prefix; use "nogui" output, >> not "lib"; populate "all" output. >> (openmpi)[inputs]: Use hwloc-nogui. > > The downside of this is that the =E2=80=9Cnogui=E2=80=9D output is less d= iscoverable > (and it=E2=80=99s another user-visible breakage.) I don't think that's a problem, as people who want to avoid the GUI stuff will look for an alternative. > Also, it shouldn=E2=80=99t make any difference to the closure size of ope= nmpi > anyway, no? No, but I think you should be able to run the hwloc programs on compute nodes without requiring X support, and you sometimes need to run openmpi programs specifically with openmpi (for memory affinity, for instance). > > + (add-after 'install 'install-openmpi > > + (lambda* (#:key outputs #:allow-other-keys) > > + (let ((dest (format #f "~a/lib/valgrind" > > + (assoc-ref outputs "openmpi")))) > > + (mkdir-p dest) > > + (zero? > > + (system (format #f "mv ~a/lib/valgrind/libmpiwrap* ~a" > > + (assoc-ref outputs "out") dest))))))))) >=20 > Why move it to a separate output? After all, we can keep it in =E2=80=9C= out=E2=80=9D > since all it costs is the size of libmpiwrap.so, right? That would still pull in valgrind, which drags in a lot else (gdb, perl, python...). The support isn't commonly used as far as I can tell, and isn't configured by default -- I forgot about the performance hit . > Also, I assume that this is functionally equivalent to Open MPI=E2=80=99s > built-in Valgrind support, is it? I think so, basically, but I can ask the question. (Actually it's occurred to me that the wrapper uses the profiling interface, so it won't work together with profiling tools without pnmpi multiplexing, but you're unlikely to want to stack one with memory debugging.) Anyhow, I vote against a performance hit generally. Also, versions of the wrapper library could be provided for other MPIs when they're packaged. If memchecker really needs to be built-in, I think it should be packaged separately openmpi, as for thread-multiple support. I'll report any reply I get about the built-in support.