From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 4979 invoked by alias); 26 Mar 2019 13:32:55 -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 4960 invoked by uid 89); 26 Mar 2019 13:32:55 -0000 Authentication-Results: sourceware.org; auth=none X-Spam-SWARE-Status: No, score=-6.1 required=5.0 tests=AWL,BAYES_00,KAM_SHORT,SPF_HELO_PASS autolearn=ham version=3.3.1 spammy=2013, hes, he's, constructive X-HELO: mx1.redhat.com Received: from mx1.redhat.com (HELO mx1.redhat.com) (209.132.183.28) by sourceware.org (qpsmtpd/0.93/v0.84-503-g423c35a) with ESMTP; Tue, 26 Mar 2019 13:32:53 +0000 Received: from smtp.corp.redhat.com (int-mx07.intmail.prod.int.phx2.redhat.com [10.5.11.22]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mx1.redhat.com (Postfix) with ESMTPS id 4EB71821D1; Tue, 26 Mar 2019 13:32:52 +0000 (UTC) Received: from ovpn-116-73.phx2.redhat.com (ovpn-116-73.phx2.redhat.com [10.3.116.73]) by smtp.corp.redhat.com (Postfix) with ESMTP id B545D1001E7A; Tue, 26 Mar 2019 13:32:51 +0000 (UTC) Message-ID: <1553607171.18132.95.camel@redhat.com> Subject: Re: GSOC From: David Malcolm To: nick , GCC Development Cc: mjambor@suse.cz, Richard Biener Date: Tue, 26 Mar 2019 13:32:00 -0000 In-Reply-To: <176a02b4-ed71-4a42-fb76-09570f303991@gmail.com> References: <176a02b4-ed71-4a42-fb76-09570f303991@gmail.com> Content-Type: text/plain; charset="UTF-8" Mime-Version: 1.0 Content-Transfer-Encoding: 7bit X-IsSubscribed: yes X-SW-Source: 2019-03/txt/msg00213.txt.bz2 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?) 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. 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) 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). 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