From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 108788 invoked by alias); 27 Mar 2019 13:55:24 -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 108775 invoked by uid 89); 27 Mar 2019 13:55:23 -0000 Authentication-Results: sourceware.org; auth=none X-Spam-SWARE-Status: No, score=-1.9 required=5.0 tests=BAYES_00,KAM_SHORT,RCVD_IN_DNSWL_NONE,SPF_PASS autolearn=ham version=3.3.1 spammy=H*f:sk:1553607 X-HELO: mail-qk1-f180.google.com Received: from mail-qk1-f180.google.com (HELO mail-qk1-f180.google.com) (209.85.222.180) by sourceware.org (qpsmtpd/0.93/v0.84-503-g423c35a) with ESMTP; Wed, 27 Mar 2019 13:55:21 +0000 Received: by mail-qk1-f180.google.com with SMTP id s81so9865094qke.13 for ; Wed, 27 Mar 2019 06:55:21 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=usp-br.20150623.gappssmtp.com; s=20150623; h=date:from:to:cc:subject:message-id:references:mime-version :content-disposition:in-reply-to:user-agent; bh=jzVcVv0BWJR0N/muRXLinHE+uqafdVaVJH2Dyx1XkN4=; b=mD693fDWDkm9M7Laxc48B4qQehp0TEVkYxgJxC8Bo6N92oJexaEHeNi9A2S0Sj9gr3 b+2SpTyzuf+CBPZW/c2/ct09fbzvsoUXTullvghLf+Xoz4fgypFbPtFaET9ixZWJXmQ7 GcHkrYSDm+xpox7/3M2q3Bj7fhtpWjOhEAWimpdjroqFxPnsRyQeSN+ffLKVWDzTYtxM IaXHqVZmSSlms+UeMcX3flN8H2a/+Wv5vWdH+zjxXz+vxg6MdunmwhYkDfPP19BntwdH +ilKcHtEpE7NqyjeNhJWq1mh1bwGB2yYFrQFFGdzx9gSWuomqSl/qlPRdP1OE9wF1Bko Xksw== Return-Path: Received: from smtp.gmail.com ([143.107.45.1]) by smtp.gmail.com with ESMTPSA id z140sm12680022qka.81.2019.03.27.06.55.17 (version=TLS1_3 cipher=AEAD-AES256-GCM-SHA384 bits=256/256); Wed, 27 Mar 2019 06:55:18 -0700 (PDT) Date: Wed, 27 Mar 2019 13:55:00 -0000 From: Giuliano Belinassi To: Richard Biener Cc: David Malcolm , nick , GCC Development , mjambor@suse.cz Subject: Re: GSOC Message-ID: <20190327135515.qsu7kka5mukw375e@smtp.gmail.com> References: <176a02b4-ed71-4a42-fb76-09570f303991@gmail.com> <1553607171.18132.95.camel@redhat.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: User-Agent: NeoMutt/20180716 X-IsSubscribed: yes X-SW-Source: 2019-03/txt/msg00237.txt.bz2 Hi, On 03/26, Richard Biener wrote: > On Tue, 26 Mar 2019, David Malcolm wrote: > > > On Mon, 2019-03-25 at 19:51 -0400, nick wrote: > > > Greetings All, > > > > > > I would like to take up parallelize compilation using threads or make > > > c++/c > > > memory issues not automatically promote. I did ask about this before > > > but > > > not get a reply. When someone replies I'm just a little concerned as > > > my writing for proposals has never been great so if someone just > > > reviews > > > and doubt checks that's fine. > > > > > > As for the other things building gcc and running the testsuite is > > > fine. Plus > > > I already working on gcc so I've pretty aware of most things and this > > > would > > > be a great steeping stone into more serious gcc development work. > > > > > > If sample code is required that's in mainline gcc I sent out a trial > > > patch > > > for this issue: https://gcc.gnu.org/bugzilla/show_bug.cgi?id=88395 > > > > > > Cheers, > > > > > > Nick > > > > It's good to see that you've gotten as far as attaching a patch to BZ > > [1] > > > > I think someone was going to attempt the "parallelize compilation using > > threads" idea last year, but then pulled out before the summer; you may > > want to check the archives (or was that you?) > > There's also Giuliano Belinassi who is interested in the same project > (CCed). Yes, I will apply for this project, and I will submit the final version of my proposal by the end of the week. Currently, my target is the `expand_all_functions` routine, as most of the time is spent on it according to the experiments that I performed as part of my Master's research on compiler parallelization. (-O2, --disable-checking) Thank you, Giuliano. > > > IIRC Richard [CCed] was going to mentor, with me co-mentoring [2] - but > > I don't know if he's still interested/able to spare the cycles. > > I've offered mentoring to Giuliano, so yes. > > > That said, the parallel compilation one strikes me as very ambitious; > > it's not clear to me what could realistically be done as a GSoC > > project. I think a good proposal on that would come up with some > > subset of the problem that's doable over a summer, whilst also being > > useful to the project. The RTL infrastructure has a lot of global > > state, so maybe either focus on the gimple passes, or on fixing global > > state on the RTL side? (I'm not sure) > > That was the original intent for the experiment. There's also > the already somewhat parallel WPA stage in LTO compilation mode > (but it simply forks for the sake of simplicity...). > > > Or maybe a project to be more > > explicit about regions of the code that assume that the garbage- > > collector can't run within them?[3] (since the GC is state that would > > be shared by the threads). > > The GC will be one obstackle. The original idea was to drive > parallelization on the pass level by the pass manager for the > GIMPLE passes, so serialization points would be in it. > > Richard. > > > Hope this is constructive/helpful > > Dave > > > > [1] though typically our workflow involved sending patches to the gcc- > > patches mailing list > > [2] as libgccjit maintainer I have an interest in global state within > > the compiler > > [3] I posted some ideas about this back in 2013 IIRC; probably > > massively bit-rotted since then. I also gave a talk at Cauldron 2013 > > about global state in the compiler (with a view to gcc-as-a-shared- > > library); likewise I expect much of the ideas there to be out-of-date); > > for libgccjit I went with a different approach