On Wed, Mar 27, 2019 at 3:43 PM nick <xerofo...@gmail.com> wrote:
>
>
>
> On 2019-03-27 9:55 a.m., Giuliano Belinassi wrote:
> > 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.
> >
> >
> My goal was this:
> 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).

That's already pretty clear so a non-project.  Honestly you are somewhat
late to the project but if you can come up with a solid proposal we will
definitely have a look.  The project itself is of course large enough to
cover 10s of GSoC students ;)

Richard.

> So there is no conflict between me and Giuliano. Richard and me have
> already been going back and forth. The remaining tasks for me are
> just write the proposal as the big one and I asked Richard to sent
> me a example you guys liked. I've signed up to contribute for the
> last year so that's fine.
>
> Just letting the list known as well as Richard where I am,
>
> Nick
> >>
> >>> 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

Reply via email to