From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 26245 invoked by alias); 27 Sep 2018 12:29:04 -0000 Mailing-List: contact gcc-patches-help@gcc.gnu.org; run by ezmlm Precedence: bulk List-Id: List-Archive: List-Post: List-Help: Sender: gcc-patches-owner@gcc.gnu.org Received: (qmail 26221 invoked by uid 89); 27 Sep 2018 12:29:03 -0000 Authentication-Results: sourceware.org; auth=none X-Spam-SWARE-Status: No, score=-2.8 required=5.0 tests=AWL,BAYES_00,FREEMAIL_FROM,RCVD_IN_DNSWL_NONE,SPF_PASS autolearn=ham version=3.3.2 spammy=a.out, H*Ad:U*toon, obs, gcc8 X-HELO: mail-lf1-f53.google.com Received: from mail-lf1-f53.google.com (HELO mail-lf1-f53.google.com) (209.85.167.53) by sourceware.org (qpsmtpd/0.93/v0.84-503-g423c35a) with ESMTP; Thu, 27 Sep 2018 12:29:01 +0000 Received: by mail-lf1-f53.google.com with SMTP id q2-v6so1957419lfc.13; Thu, 27 Sep 2018 05:29:00 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc; bh=ol9H7EujfaQHAaNheYbONiBygcuRqq/S0PdDFN8NwwI=; b=giDclGrAt0dtv9h4TK+XXIXZEXKKEcTkBygFuwQqufXbY9gKZFFkhe7ST6k4Ac5I3v tGGqzKYVLCtnfmrRyaP2eTPcKAeO8Ck4W2E0wbmnxeFTDN2NLjJhlp7ZR5f+N9+8tLIn yKxtMe0PT5NZisue9sXtsh1yW2dWycFszKEul94xsJ4MhyUruwq5ZFWY360Zfmmr1zuu sfzuoH0FAuRIm6PSWof71LoQvpt8DpvyErSDUxh1UlbLHict10yvwYpB6AnHgAMV6WJB gi6dvg0g+11dSpKoCbMnpSuuTPivEONQDZ5oZUMXbnrPA9AagAz9rwIDVLgBoCAd+GjA 1cOQ== MIME-Version: 1.0 References: <024e798b9539b765a1259cfc9cb2f1dc480b24ca.1536144068.git.ams@codesourcery.com> <7f5064c3-afc6-b7b5-cade-f03af5b86331@moene.org> <9290b55e-b12a-838a-5943-0c72d040dc3f@codesourcery.com> <7bef0368-f709-642b-3bb4-14cb07aaba25@netcologne.de> <594e5471-3e22-40ae-0be4-952b2c246e3a@charter.net> In-Reply-To: From: Richard Biener Date: Thu, 27 Sep 2018 12:51:00 -0000 Message-ID: Subject: Re: OpenCoarrays integration with gfortran To: mckinstry@debian.org Cc: Toon Moene , Jerry DeLisle , Damian Rouson , Thomas Koenig , "Stubbs, Andrew" , Janne Blomqvist , GCC Patches , "fortran@gcc.gnu.org" Content-Type: text/plain; charset="UTF-8" X-IsSubscribed: yes X-SW-Source: 2018-09/txt/msg01653.txt.bz2 On Mon, Sep 24, 2018 at 12:58 PM Alastair McKinstry wrote: > > > On 23/09/2018 10:46, Toon Moene wrote: > > On 09/22/2018 01:23 AM, Jerry DeLisle wrote: > > > > I just installed opencoarrays on my system at home (Debian Testing): > > > > root@moene:~# apt-get install libcoarrays-openmpi-dev > > ... > > Setting up libcaf-openmpi-3:amd64 (2.2.0-3) ... > > Setting up libcoarrays-openmpi-dev:amd64 (2.2.0-3) ... > > Processing triggers for libc-bin (2.27-6) ... > > > > [ previously this led to apt errors, but not now. ] > > > > and moved my own installation of the OpenCoarrays-2.2.0.tar.gz out of > > the way: > > > > toon@moene:~$ ls -ld *pen* > > drwxr-xr-x 6 toon toon 4096 Aug 10 16:01 OpenCoarrays-2.2.0.opzij > > drwxr-xr-x 8 toon toon 4096 Sep 15 11:26 opencoarrays-build.opzij > > drwxr-xr-x 6 toon toon 4096 Sep 15 11:26 opencoarrays.opzij > > > > and recompiled my stuff: > > > > gfortran -g -fbacktrace -fcoarray=lib random-weather.f90 > > -L/usr/lib/x86_64-linux-gnu/open-coarrays/openmpi/lib -lcaf_mpi > > > > [ Yes, the location of the libs is quite experimental, but OK for the > > "Testing" variant of Debian ... ] > > > > I couldn't find cafrun, but mpirun works just fine: > > > > toon@moene:~/src$ echo ' &config /' | mpirun --oversubscribe --bind-to > > none -np 20 ./a.out > > Decomposition information on image 7 is 4 * 5 slabs with 23 > > * 18 grid cells on this image. > > Decomposition information on image 6 is 4 * 5 slabs with 23 > > * 18 grid cells on this image. > > Decomposition information on image 11 is 4 * 5 slabs with 23 > > * 18 grid cells on this image. > > Decomposition information on image 15 is 4 * 5 slabs with 23 > > * 18 grid cells on this image. > > Decomposition information on image 1 is 4 * 5 slabs with 23 > > * 18 grid cells on this image. > > Decomposition information on image 13 is 4 * 5 slabs with 23 > > * 18 grid cells on this image. > > Decomposition information on image 12 is 4 * 5 slabs with 21 > > * 18 grid cells on this image. > > Decomposition information on image 20 is 4 * 5 slabs with 21 > > * 18 grid cells on this image. > > Decomposition information on image 9 is 4 * 5 slabs with 23 > > * 18 grid cells on this image. > > Decomposition information on image 14 is 4 * 5 slabs with 23 > > * 18 grid cells on this image. > > Decomposition information on image 16 is 4 * 5 slabs with 21 > > * 18 grid cells on this image. > > Decomposition information on image 17 is 4 * 5 slabs with 23 > > * 18 grid cells on this image. > > Decomposition information on image 18 is 4 * 5 slabs with 23 > > * 18 grid cells on this image. > > Decomposition information on image 2 is 4 * 5 slabs with 23 > > * 18 grid cells on this image. > > Decomposition information on image 4 is 4 * 5 slabs with 21 > > * 18 grid cells on this image. > > Decomposition information on image 5 is 4 * 5 slabs with 23 > > * 18 grid cells on this image. > > Decomposition information on image 3 is 4 * 5 slabs with 23 > > * 18 grid cells on this image. > > Decomposition information on image 8 is 4 * 5 slabs with 21 > > * 18 grid cells on this image. > > Decomposition information on image 10 is 4 * 5 slabs with 23 > > * 18 grid cells on this image. > > Decomposition information on image 19 is 4 * 5 slabs with 23 > > * 18 grid cells on this image. > > > > ... etc. (see http://moene.org/~toon/random-weather.f90). > > > > I presume other Linux distributors will follow shortly (this *is* > > Debian Testing, which can be a bit testy at times - but I do trust my > > main business at home on it for over 15 years now). > > > > Kind regards, > > > Thanks, good to see it being tested (I'm the Debian/Ubuntu packager). > > caf /cafrun has been dropped (for the moment ? ) in favour of mpirun, > but I've added pkg-config caf packages so that becomes an option. > > $ pkg-config caf-mpich --libs > > -L/usr/lib/x86_64-linux-gnu/open-coarrays/mpich/lib -lcaf_mpich -Wl,-z,relro -lmpich -lm -lbacktrace -lpthread -lrt > > (My thinking is that for libraries in particular, the user need not know > whether CAF is being used, and if lib foobar uses CAF, then adding a: > > Requires: caf > > into the pkg-config file gives you the correct linking transparently. > > The "strange" paths are due to Debians multiarch : it is possible to > include libraries for multiple architectures simultaneously. This works > ok with pkg-config and cmake , etc (which allow you to set > PKG_CONFIG_PATH and have multiple pkgconfig files for different libs > simultaneously) , but currently break wrappers such as caf / cafrun. > > I can add a new package for caf / cafrun but would rather not. (W e > currently don't do non-MPI CAF builds). > > There is currently pkg-config files 'caf-mpich' and 'caf-openmpi' for > testing, and I'm adding a default alias caf -> caf-$(default-MPI) So I've tried packaging of OpenCoarrays for SUSE and noticed a few things: - caf by default links libcaf_mpi static (why?) - the build system makes the libcaf_mpi SONAME dependent on the compiler version(?), I once got libcaf_mpi2 and once libcaf_mpi3 (gcc7 vs. gcc8) different SONAMEs definitely makes packaging difficult. Of course since there's the first point I may very well elide the shared library alltogether....? Other than that it seems to "work" (OBS home:rguenther/OpenCoarrays). Richard. > regards > > Alastair > > > > > -- > Alastair McKinstry, , , https://diaspora.sceal.ie/u/amckinstry > Misentropy: doubting that the Universe is becoming more disordered. >