> The code remains single threaded
> weather or not you try to auto-parallelize it. I don’t know if there is
> a way to get some feedback during compilation regarding what graphite is
> doing.
Yes. You can use -fdump-tree-graphite-all to get some debugging output
form graphite.
If you want anybody to look into this the best would be to open a
bugreport with a reduced test case and the exact command lines you use.
Please CC me in the bug report.
Cheers
Tobi
I got an e-mail from someone who made some suggestions. Basically I found out that Graphite is saying all my loops are inner loops and can't do anything with them. In the 4.5 what's new file it says they expanded graphite to cover outer loops. I'm I missing something?
gcc-gr...@googlegroups.com wrote on 13/07/2011 23:35:31:
> Anthony[attachment "MP_PROP_DESIGN.f.104t.graphite" deleted by Razya
> Ladelsky/Haifa/IBM] [attachment "MP_PROP_DESIGN.f.116t.parloops"
> deleted by Razya Ladelsky/Haifa/IBM] [attachment "SP_PROP_DESIGN.f.
> 104t.graphite" deleted by Razya Ladelsky/Haifa/IBM] [attachment
> "SP_PROP_DESIGN.f.116t.parloops" deleted by Razya Ladelsky/Haifa/IBM]
From: Anthony Falzone <prop_...@live.com>
To: gcc-gr...@googlegroups.com
Cc: Anthony Falzone <prop_...@live.com>
Date: 14/07/2011 11:33
Subject: Re: question about graphite auto-parallelization
Sent by: gcc-gr...@googlegroups.com
here ya go[attachment "MP_PROP_DESIGN.f.116t.parloops" deleted by Razya
Ladelsky/Haifa/IBM]
> From: Anthony Falzone <prop_...@live.com>
> To: gcc-gr...@googlegroups.com
> Cc: Anthony Falzone <prop_...@live.com>
> Date: 14/07/2011 13:03
> Subject: Re: question about graphite auto-parallelization
> Sent by: gcc-gr...@googlegroups.com
>
> Yes, that's what it looked like to me as well. I don't know which
> loops are supposed to be. However, there should definitely be some.
> The MP version of PROP_DESIGN basically runs the SP version multiple
> times. It varies the speed of the aircraft. So it should
> definitely be able to run multiple speeds at once, since they are
> completely independent runs.
but it depends whether the code is written in a way that the compiler
has a chance to optimize.
If you could point out the loop in the code that you expect to be
parallel,
I could try to see why the compiler fails to do so.
Razya
> From: Anthony Falzone <prop_...@live.com>
> To: gcc-gr...@googlegroups.com
> Cc: Anthony Falzone <prop_...@live.com>
> Date: 26/07/2011 12:08 AM
> Subject: Re: question about graphite auto-parallelization
> Sent by: gcc-gr...@googlegroups.com
>
> Razya,
>
> Did you have any luck figuring out why Graphite won't auto-
> parallelize my code?
Hi Anthony,
I tried compiling with a gcc4.7 version on x86 (that was the most
available one for me)
and I saw these loops getting parallelized for MP_PROP_DESIGN.f:
loop at MP_PROP_DESIGN.f:1147:
loop at MP_PROP_DESIGN.f:1116:
loop at MP_PROP_DESIGN.f:901:
loop at MP_PROP_DESIGN.f:837:
loop at MP_PROP_DESIGN.f:775:
I used the "old" autopar, which does not use the graphite based analysis.
I can give it a try with graphite as well, but let's make sure you get the
same with the
old autopar first.
all I do is:
gcc -O3 MP_PROP_DESIGN.f -c -ftree-parallelize-loops=4
-fdump-tree-parloops-details -fno-tree-vectorize
and then I grepped the string "SUCCESS: may be parallelized" in the dump
file that was created.
You should see this string appearing 5 times.
Please retry this, and let me know if you get result from grepping the
dump file.
Thanks,
Razya
gcc-gr...@googlegroups.com wrote on 26/07/2011 04:59:11 PM:
> From: Anthony Falzone <prop_...@live.com>
> To: gcc-gr...@googlegroups.com
> Cc: Anthony Falzone <prop_...@live.com>
> Date: 26/07/2011 04:59 PM
> Subject: Re: question about graphite auto-parallelization
> Sent by: gcc-gr...@googlegroups.com
>
> From: Anthony Falzone <prop_...@live.com>
> To: gcc-gr...@googlegroups.com
> Date: 01/08/2011 05:05 PM
> Subject: Re: question about graphite auto-parallelization
> Sent by: gcc-gr...@googlegroups.com
>
> I forgot the aircraft velocity loop in MP. That would take the
> cores from 8 up to a user defined about.
Hi Anthony,
Could you tell me the line number where this loop begins in the source
code?
Then I can check why it is not getting parallelized.
In any case, I think we need to go for a newer GCC version, as it seems we
get
more loops parallelized there.
Thanks,
Razya
> From: Anthony Falzone <prop_...@live.com>
> To: gcc-gr...@googlegroups.com
> Date: 11/09/2011 05:49 PM
> Subject: Update
> Sent by: gcc-gr...@googlegroups.com
>
> I read through the documentation of a lot of different compilers and
> they all have the same limitations. They only work on loops with a
> set number of iterations.
The limitation regarding number of iterations is that we have a
description of number of iterations of the loop.
(It could be a symbol like 'N', but not something depending on the data
for example)
> They also don't allow for read or write
> statements.
Do you mean function calls or loads and stores?
Got some information from Polyhedron. They said they did see a factor of 2 improvement with Intel auto-parallelization on for MP_PROP_DESIGN. However, for Windows on Sandy Bridge they turned it off for an unknown error. The error doesn't exist on Linux. You can see they had auto-parallelization on for all benchmarks but Windows. So perhaps i/o and loops with variable ends are not an issue for all auto-parallelization implementations. At some point I definitely need to experiment with the Intel compiler, just so I can see how it treats my code in more detail. Looks promising though.
gcc-gr...@googlegroups.com wrote on 04/10/2011 10:25:39 PM:
> From: Anthony Falzone <prop_...@live.com>
> To: gcc-gr...@googlegroups.com
> Date: 04/10/2011 10:25 PM
> Subject: Re: question about graphite auto-parallelization
> Sent by: gcc-gr...@googlegroups.com
>