From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([208.118.235.92]:45026) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1dot39-0002xZ-Sg for guix-patches@gnu.org; Mon, 04 Sep 2017 11:13:18 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1dot1i-0003GJ-0u for guix-patches@gnu.org; Mon, 04 Sep 2017 11:12:31 -0400 Received: from debbugs.gnu.org ([208.118.235.43]:40349) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1dot1h-0003G7-SG for guix-patches@gnu.org; Mon, 04 Sep 2017 11:11:01 -0400 Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1dot1h-0005G0-IL for guix-patches@gnu.org; Mon, 04 Sep 2017 11:11:01 -0400 Subject: [bug#27905] changes for openmpi Resent-Message-ID: From: ludovic.courtes@inria.fr (Ludovic =?UTF-8?Q?Court=C3=A8s?=) References: <87zibja1of.fsf@i-ulialbion.it.manchester.ac.uk> <87h8x1t0op.fsf@gnu.org> <87d17aznix.fsf@albion.it.manchester.ac.uk> Date: Mon, 04 Sep 2017 17:10:24 +0200 In-Reply-To: <87d17aznix.fsf@albion.it.manchester.ac.uk> (Dave Love's message of "Fri, 01 Sep 2017 12:06:14 +0100") Message-ID: <873782xzxb.fsf@inria.fr> MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="=-=-=" 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: 27905@debbugs.gnu.org --=-=-= Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable Dave Love skribis: > 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 = discoverable >> (and it=E2=80=99s another user-visible breakage.) > > I don't understand why it's worse than currently. "hwloc" will provide > the same as before, won't it? I guess developer breakage could be fixed > by retaining the lib output if it matters. > > Maybe it's helpful to try to document what sort of stability is expected > currently? Concretely, I have a bunch of packages for linear algebra software developed at work. When we add/remove an output to hwloc, those packages may fail to build (for instance, currently they expect the =E2=80=9Clib=E2=80=9D output of hwloc.) Likewise, =E2=80=9Cguix package -u=E2=80=9D doesn=E2=80=99t deal with outpu= t changes (we do have a mechanism to deal with package renames, but not with output changes.) >> Also, it shouldn=E2=80=99t make any difference to the closure size of op= enmpi >> anyway, no? > > Right. It wasn't for openmpi specifically. > >>> + (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))))))))) >> >> Why move it to a separate output? After all, we can keep it in =E2=80= =9Cout=E2=80=9D >> since all it costs is the size of libmpiwrap.so, right? >> >> Also, I assume that this is functionally equivalent to Open MPI=E2=80=99s >> built-in Valgrind support, is it? > > This is probably moot. It isn't entirely equivalent but, more > importantly, the builtin support apparently doesn't have the performance > hit which was documented; I haven't checked experimentally. See this > thread, though not all my questions were answered: > . > > The wrapper library may still be relevant for mpich-y MPIs, if they get > used -- I don't know. OK. So to me that means we can apply the patch below and be done with it. Fine with you? Thanks, Ludo=E2=80=99. --=-=-= Content-Type: text/x-patch Content-Disposition: inline diff --git a/gnu/packages/mpi.scm b/gnu/packages/mpi.scm index 93157e269..ded9d4fda 100644 --- a/gnu/packages/mpi.scm +++ b/gnu/packages/mpi.scm @@ -36,8 +36,7 @@ #:use-module (gnu packages xml) #:use-module (gnu packages perl) #:use-module (gnu packages ncurses) - #:use-module (gnu packages pkg-config) - #:use-module (gnu packages valgrind)) + #:use-module (gnu packages pkg-config)) (define-public hwloc (package @@ -126,8 +125,7 @@ bind processes, and much more.") `(("hwloc" ,hwloc "lib") ("gfortran" ,gfortran) ("libfabric" ,libfabric) - ("rdma-core" ,rdma-core) - ("valgrind" ,valgrind))) + ("rdma-core" ,rdma-core))) (native-inputs `(("pkg-config" ,pkg-config) ("perl" ,perl))) @@ -142,8 +140,6 @@ bind processes, and much more.") ;; it reduces the closure size considerably. "--disable-vt" - ,(string-append "--with-valgrind=" - (assoc-ref %build-inputs "valgrind")) ,(string-append "--with-hwloc=" (assoc-ref %build-inputs "hwloc"))) #:phases (modify-phases %standard-phases --=-=-=--