From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 35366 invoked by alias); 28 Jan 2017 02:13:07 -0000 Mailing-List: contact gcc-help@gcc.gnu.org; run by ezmlm Precedence: bulk List-Id: List-Archive: List-Post: List-Help: Sender: gcc-owner@gcc.gnu.org Received: (qmail 35327 invoked by uid 89); 28 Jan 2017 02:13:03 -0000 Authentication-Results: sourceware.org; auth=none X-Virus-Found: No X-Spam-SWARE-Status: No, score=0.9 required=5.0 tests=AWL,BAYES_50,RCVD_IN_DNSWL_NONE,RCVD_IN_SORBS_SPAM,UNPARSEABLE_RELAY autolearn=no version=3.3.2 spammy=U*jvdelisle, sk:jvdelis, D*charter.net, jvdelisle@charter.net X-HELO: mail-wm0-f49.google.com Received: from mail-wm0-f49.google.com (HELO mail-wm0-f49.google.com) (74.125.82.49) by sourceware.org (qpsmtpd/0.93/v0.84-503-g423c35a) with ESMTP; Sat, 28 Jan 2017 02:12:53 +0000 Received: by mail-wm0-f49.google.com with SMTP id c85so140979370wmi.1 for ; Fri, 27 Jan 2017 18:12:53 -0800 (PST) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:in-reply-to:references:mime-version:date :message-id:subject:to:cc:content-transfer-encoding; bh=ec69CLgpp3CuKCLhwxFhfW5HeTnjb0ijuDl20EhGscw=; b=g7BauGzr5NSRB0olhOO7M73ZgU2cewL0m5ccj1KJykWZqUqWdvNSTGOjHW61GMPWT1 AtloGdLqMGJhFMLKGgg2feJVdNo4M3DF7WN/46+mHeYdr2J6TifnbFg3PSNI//doNKkU TCXVkc33f/8l6kGxLH+euGRYcXv0byPv1gas78AVu7j22SCpIbWuRfMZV0UCMc90qnJU K7zc12FVTPi1ghT7ankyohHUsZPXDlHKZMdcJzj3NgUkpL7QmJ4QTzDFuyd17jXMz+X3 FPHwFgVQqw2zHtEsryKuFRzeJqk9ZLlBPT9Au2Ffl5+czkcoAYsgImnHf0+xPH1JkYbN MpQA== X-Gm-Message-State: AIkVDXIfMn5E/T+hTi54LgceW1PCmebREV5XeZtaELs6+6Rh2q/zgVidrMVDBKK2VRrXZtfJpi3YjRQ1VgbFWg== X-Received: by 10.223.134.104 with SMTP id 37mr9369112wrw.121.1485569571230; Fri, 27 Jan 2017 18:12:51 -0800 (PST) Received: from 1058052472880 named unknown by gmailapi.google.com with HTTPREST; Fri, 27 Jan 2017 18:12:50 -0800 From: Damian Rouson In-Reply-To: <2047e9a6-6d7a-1aae-3c2d-4ad1b9c25e88@charter.net> References: <1fca5e2b-366d-9eb8-57c8-cdecd102cd21@charter.net> <3FD52C1D-E46B-4ADD-AEF1-DB2AD659F0C5@gmail.com> <2047e9a6-6d7a-1aae-3c2d-4ad1b9c25e88@charter.net> MIME-Version: 1.0 Date: Sat, 28 Jan 2017 02:13:00 -0000 Message-ID: Subject: Re: [patch, libgfortran RFC] Installation script for OpenCoarrays to enable multi-image gfortran To: Jerry DeLisle , FX Cc: Damian Rouson , Izaak Beekman , Andre Vehreschild , gfortran , GCC Development Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: quoted-printable X-SW-Source: 2017-01/txt/msg00249.txt.bz2 On January 26, 2017 at 9:12:36 AM, Jerry DeLisle (jvdelisle@charter.net(mailto:jvdelisle@charter.net)) wrote: > On 01/26/2017 05:25 AM, FX wrote: > > > - I am a bit surprised by the complexity of the script=E2=80=A6 couldn= =E2=80=99t we provide a Makefile for opencoarrays, to be compatible with ou= r other build requirements? > As Jerry alluded, the script takes advantage of code form the bash3boilerplate project (https://github.com/zbeekman/bash3boilerplate/tree/add-use-case). Almost every time I=E2=80=99ve started writing a simple script without bash3boilerplate, I ultimately decided to use bash3boilerplate. Using bash3boilerplate makes the code more robust (e.g., preventing the use of unset variables) and more flexible (e.g., making it easy to add command-line arguments). > > > - do we want to work towards seamless implementation of coarrays into g= fortran, or coexistence as a separate package (as is currently the case, fo= r example in Mac Homebrew, where it ships as a separate =E2=80=94 but compa= tible =E2=80=94 package)? It would be difficult or impossible for several OpenCoarrays developers to contribute without OpenCoarrays remaining separate for several reasons. =C2=A0First, committing OpenCoarrays source to the gfortran repository would almost certainly cut off all possibility that another compiler would adopt the relevant code as its parallel runtime library for licensing reasons and that potential for future adoption by other compilers is a primary motivation of the Sourcery Institute support for OpenCoarrays. Also, Sourcery Institute has a government contract in which GitHub and the tools that integrate into GitHub (e.g., Travis-CI and Markdown) play a central role along with various git workflows (e.g., the GitHub Flow) so keeping OpenCoarrays on GitHub creates important synergies with other projects that makes it much easier to fund the development of OpenCoarrays. > > I think we do want to head toward seamless. I have explored even copying = the > source directly into the caf directory of libgfortran and merging the .h = files, > but this takes some time to do and would leave two sets of sources to mai= ntain. =46rom an end user perspective, building OpenCoarrays during the gfortran build strikes me as seamles and doing so matches the current practice with MPFR, MPIC, GMP, and ISL. Also, multi-image execution will always add at least one new external dependency in the form of a parallel communication library such as MPI. > Regarding things like Homebrew, or rpm packages, it will require us to le= arn how > to do these packages which none of us know right now. I wonder if developing an OpenCoarrays rpm package would be a good task as part of a Google Summer of Code (SoC) project. =C2=A0February 9 is the application deadline for organizations seeking to host an SoC student and I=E2=80=99m interested in applying to host a student. =C2=A0If = anyone can suggest other good projects related to gfortran and OpenCoarrays, please let me know. =C2=A0Several students have expressed interest. =C2=A0I= =E2=80=99m especially interested in anything that increases the support for the Fortran standards. > > Ultimately, since multi images is part of the Fortran language, it should= just > happen transparently with the gcc regular build process. We=E2=80=99re all in agreement here so hopefully Jerry=E2=80=99s submission= will be approved. =C2=A0OpenCoarrays developer Zaak Beekman and I will be glad to answer any questions about the supporting scripts. =C2=A0A lot of work went into them and they have had a lot of user input through the bash3boilerplate project to which Zaak has contributed. Damian