Do you use -ftree-parallelize-loops flag along with -02 flag? If you
also want to enable cloog optimizations in Graphite, you can use the
following options:
gcc -O2 -fgraphite-cloog-opts -ftree-parallelize-loops=2
-floop-parallelize-all test-autoparallel.c
Ismail
Hi Salvatore,
I haven't tried parallelizing using graphite lately so I'm not sure
what shape the framework is at.
However, parallelizing without graphite should work just fine.
You should add -O2 or -O3 to the command line,
Try:
gcc -ftree-parallelize-loops=2 -O2 test-autoparallel.c -o
test-autoparallel
DotProduct is a reduction patten, and such pattern are supported by the
auto-parallelizer,
so basically DotProduct is parallelizable :)
Please let me know if you have more questions,
Thanks,
Razya
> From: Anthony Falzone <prop_...@live.com>
> To: gcc-gr...@googlegroups.com
> Date: 05/02/2012 07:40 PM
> Subject: Re: Does GCC Graphite framework work?
> Sent by: gcc-gr...@googlegroups.com
>
> I posted previously that Graphite does not seem to work and no one
> has been able to get it to work as of yet. I am using Windows
> however. Also, the -fgraphite-cloog-opts doesn't seem to work with
Cygwin.
Hey Anthony,
I haven't used graphite lately, so I'm not sure what shape the framework
is at.
If you need to auto parallelize, though,remember that you can also do it
without
using graphite.
Thanks,
Razya
Hi Anthony,
to which post are you referring exactly? What does not work for you in
graphite? To my knowledge Sebastian put a lot of afford into graphite,
before he changed jobs. So the quality of the code is actually pretty good.
Cheers
Tobi
I would phrase this as 'auto-parallelization for your code on windows
does not work'. This is sad, but is not equivalent to GRAPHITE does not
work at all. Still it shows that the GRAPHITE autopar part can be
improved and for this, your code is a valuable test case. Especially, as
the intel compiler shows larger speedups. To auto parallelize with gcc I
would first try the classical autoparallelizer maintained by Razya.
Graphite also provides auto parallelization, but it is less tested. It
was developed as a proof of concept by Li Feng, a Google Summer of code
student, but misses the robustness needed for production environments.
To make it production quality your program is a good start, but an in
depth analysis is required to understand exactly what needs to be
improved here. Analyzing an entire program is a large task and even
though I would love to see it done, I have unfortunately not the time to
do this. In case you are interested I will be glad to guide you through
this.
In respect of Sebastian: He was full time employed to work on GCC and
now switched jobs. I am still maintaining graphite, but as I do it in my
spare time aside of my PhD, I have a lot less time. This means I need to
focus. I am currently focusing on blocking infrastructure issues like
moving graphite to an actual integer set library and
the introduction of a polyhedral optimizer based on the Pluto algorithm.
This will not make all your code run faster overnight, but provides a
powerful infrastructure that can help with this. If you want to step
inhere, you are more than welcome.
Cheers
Tobi
Hi,
I just tried this with a recent gcc 4.7 and it seems not to work for me.
Salvatore, did this work for you?
I think we should first try the normal autopar until we jump into
graphite land.
Tobi
Hi Tobias and Razya,I posted on the forum awhile back and both of you replied. It was in regards to my code called PROP_DESIGN. Razya helped me debug it some and basically GCC was saying all my loops were outer loops or something. I was hoping someone could use my code to debug GCC and see why it would not auto-parallelize the code. Absoft and Intel Fortran compilers can. You can see the Polyhedron Fortran benchmark results for MP_PROP_DESIGN.MP_PROP_DESIGN has since been renamed to PROP_DESIGN_MAPS. Also, I made several benchmarking versions of PROP_DESIGN. I have tried everything I can and as far as I can tell auto-parallelization in GCC does not work on Windows. Perhaps for certain codes, but definitely not for mine.
The old post topics are:
Re: question about graphite auto-parallelizationandMinGW, MinGW-w64, Cygwin SupportI posted on SourceForge originally as well. PROP_DESIGN can be downloaded at http://propdesign.weebly.com/.Tobias, I'm I to understand that Sebastian Pop developed Graphite and now no one is developing it? If so, that could explain a lot.
gcc-gr...@googlegroups.com wrote on 09/02/2012 04:58:04 AM:
> From: Anthony Falzone <prop_...@live.com>
> To: gcc-gr...@googlegroups.com
> Date: 09/02/2012 04:58 AM
> Subject: Re: Does GCC Graphite framework work?
> Sent by: gcc-gr...@googlegroups.com
>
> Something that could help everyone a lot is a code that is known to
> work with autopar and one that is known to work with graphite. That
> way we can all rule out something has not been installed or
> configured properly. I personally need some Fortran codes for this.
> However, others may like C codes. I would think that there must be
> some test codes that people use when developing these tools.
> From: Anthony Falzone <prop_...@live.com>
> To: gcc-gr...@googlegroups.com
> Date: 08/02/2012 07:42 PM
> Subject: Re: Does GCC Graphite framework work?
> Sent by: gcc-gr...@googlegroups.com
>
> Hi Razya,
>
> Yes I have tried both ways and neither seems to work with PROP_DESIGN.
hi Anthony,
What exactly do you mean by 'does not work'?
What is your indication? did you check the dump files?
Thanks,
razya