Re: Parallelize the compilation using Threads

2018-12-12 Thread Giuliano Augusto Faulin Belinassi
Hi, I have some news. :-)

I replicated the Martin Liška experiment [1] on a 64-cores machine for
gcc [2] and Linux kernel [3] (Linux kernel was fully parallelized),
and I am excited to dive into this problem. As a result, I want to
propose GSoC project on this issue, starting with something like:
1- Systematically create a benchmark for easily information
gathering. Martin Liška already made the first version of it, but I
need to improve it.
2- Find and document the global states (Try to reduce the gcc's
global states as well).
3- Define the parallelization strategy.
4- First parallelization attempt.

I also proposed this issue as a research project to my advisor and he
supported me on this idea. So I can work for at least one year on
this, and other things related to it.

Would anyone be willing to mentor me on this?

[1] https://gcc.gnu.org/bugzilla/attachment.cgi?id=43440
[2] https://www.ime.usp.br/~belinass/64cores-experiment.svg
[3] https://www.ime.usp.br/~belinass/64cores-kernel-experiment.svg
On Mon, Nov 19, 2018 at 8:53 AM Richard Biener
 wrote:
>
> On Fri, Nov 16, 2018 at 8:00 PM Giuliano Augusto Faulin Belinassi
>  wrote:
> >
> > Hi! Sorry for the late reply again :P
> >
> > On Thu, Nov 15, 2018 at 8:29 AM Richard Biener
> >  wrote:
> > >
> > > On Wed, Nov 14, 2018 at 10:47 PM Giuliano Augusto Faulin Belinassi
> > >  wrote:
> > > >
> > > > As a brief introduction, I am a graduate student that got interested
> > > >
> > > > in the "Parallelize the compilation using threads"(GSoC 2018 [1]). I
> > > > am a newcommer in GCC, but already have sent some patches, some of
> > > > them have already been accepted [2].
> > > >
> > > > I brought this subject up in IRC, but maybe here is a proper place to
> > > > discuss this topic.
> > > >
> > > > From my point of view, parallelizing GCC itself will only speed up the
> > > > compilation of projects which have a big file that creates a
> > > > bottleneck in the whole project compilation (note: by big, I mean the
> > > > amount of code to generate).
> > >
> > > That's true.  During GCC bootstrap there are some of those (see PR84402).
> > >
> >
> > > One way to improve parallelism is to use link-time optimization where
> > > even single source files can be split up into multiple link-time units.  
> > > But
> > > then there's the serial whole-program analysis part.
> >
> > Did you mean this: https://gcc.gnu.org/bugzilla/show_bug.cgi?id=84402 ?
> > That is a lot of data :-)
> >
> > It seems that 'phase opt and generate' is the most time-consuming
> > part. Is that the 'GIMPLE optimization pipeline' you were talking
> > about in this thread:
> > https://gcc.gnu.org/ml/gcc/2018-03/msg00202.html
>
> It's everything that comes after the frontend parsing bits, thus this
> includes in particular RTL optimization and early GIMPLE optimizations.
>
> > > > Additionally, I know that GCC must not
> > > > change the project layout, but from the software engineering 
> > > > perspective,
> > > > this may be a bad smell that indicates that the file should be broken
> > > > into smaller files. Finally, the Makefiles will take care of the
> > > > parallelization task.
> > >
> > > What do you mean by GCC must not change the project layout?  GCC
> > > happily re-orders functions and link-time optimization will reorder
> > > TUs (well, linking may as well).
> > >
> >
> > That was a response to a comment made on IRC:
> >
> > On Thu, Nov 15, 2018 at 9:44 AM Jonathan Wakely  
> > wrote:
> > >I think this is in response to a comment I made on IRC. Giuliano said
> > >that if a project has a very large file that dominates the total build
> > >time, the file should be split up into smaller pieces. I said  "GCC
> > >can't restructure people's code. it can only try to compile it
> > >faster". We weren't referring to code transformations in the compiler
> > >like re-ordering functions, but physically refactoring the source
> > >code.
> >
> > Yes. But from one of the attachments from PR84402, it seems that such
> > files exist on GCC,
> > https://gcc.gnu.org/bugzilla/attachment.cgi?id=43440
> >
> > > > My questions are:
> > > >
> > > >  1. Is there any project compilation that will significantly be improved
> > > > if GCC runs in parallel? Do someone has data about something related
> > > > to that? How about the Linux Kernel? If not, I can try to bring some.
> > >
> > > We do not have any data about this apart from experiments with
> > > splitting up source files for PR84402.
> > >
> > > >  2. Did I correctly understand the goal of the parallelization? Can
> > > > anyone provide extra details to me?
> > >
> > > You may want to search the mailing list archives since we had a
> > > student application (later revoked) for the task with some discussion.
> > >
> > > In my view (I proposed the thing) the most interesting parts are
> > > getting GCCs global state documented and reduced.  The parallelization
> > > itself is an interesting experiment but whether there will be any
> 

RE: Reach: Ceramic Tiles and Stones Distributors

2018-12-12 Thread Ashley Johnson
 

 

Hi,

 

Hope you are doing great!

 

Am writing to follow-up on my email proposal for "Ceramic Tiles and Stones
Distributors".

 


I just wanted to check if you had a chance to review it?

 

Thank you looking forward from you.

 

Best Regards,

 

Ashley Johnson,

Marketing Team.

 

From: Ashley Johnson [mailto:ashley.john...@digitalmicroleads.com] 
Sent: Friday, December 07, 2018 9:38 AM
To: 'gcc@gcc.gnu.org'
Subject: Reach: Ceramic Tiles and Stones Distributors

 

 

 

Hi,

 

Hope this email finds you well!

Would you be interested in "Ceramic Tiles and Stones Distributors"?



Categories: Interior Designer Firms, Flooring Contractors, Tile and Terrazzo
Contractors, Other Building Material Dealers and many more.

 

Reach: Contractors, Installers, Retailers, Manufactures, Engineers,
Architects, Designers, Fabricators and more

 

List Includes: Contact Name, Company Name, and Company URL, Job Title,
Verified Email Address, Physical Address, Phone Number, Fax Number and
Industry etc...

 

If you would be looking for this information please reply back with your
requirements in the below format and I'll get back to you with more
information and sample file for your review

 

Categories/Industry:

Job Titles:

Geography/Location:

 

Thank you and I look forward to hearing from you.

 

Regards,

Ashley Johnson | Marketing Team

 

"Unsubscribe"

 



Re: Optimizing C++ Move Functions in Stl

2018-12-12 Thread nick



On 2018-12-12 10:24 a.m., Jonathan Wakely wrote:
> On 12/12/18 17:17 +0200, Ville Voutilainen wrote:
>> On Wed, 12 Dec 2018 at 17:14, nick  wrote:
>>
>>> > I think there's an attempt to ascertain that mostly constructors and
>>> > assignment operators need noexcept-fixes,
>>> > because that noexcept-ness is directly trait-detectable.
>>> > That would match my current understanding of the situation for at
>>> > least pair and tuple.
>>> >
>>>
>>>
>>> Yes that's true. I was also asking about is there a TODO list for the 
>>> current release
>>> of gcc 9 as Jonathan mentioned this work is a stage 1 fix or feature and 
>>> should wait
>>> until gcc 10 stage 1 so was wondering what work is needed in the current 
>>> stage 3.
>>>
>>> Sorry for the confusion with the previous email and hopefully this makes 
>>> more sense,
>>
>> We don't have a specific TODO list for gcc 9. For general stuff, we have
>> https://gcc.gnu.org/wiki/LibstdcxxTodo
>> which is a bit out of date...
> 
> I think he's asking about GCC in general, not just libstdc++. The
> answer is that fixing bugs is appropriate for stage 3, so pick any
> open bugs from Bugzilla.
> 
> 

That's right I was asking about all of gcc. Sorry I thought I CCed the gcc devel
list so no wonder so confused. 

Sorry,

Nick