Some bit long since my last post here, cause most of the questions/status I have posted to gcc-graphite maillist. Yes, we got our maillist. If you are interested in next year's Google Summer of Code and like to work with great Graphite Developers, keep your eyes on our maillist, and if you have any questions about Graphite, just leave a post to us there. Did I mentioned that our maillist is: http://groups.google.de/group/gcc-graphite?hl=en ? You'll find it's really great to work with Graphite and Graphite developers! ;-)
Status about about autopar in Graphite:
1. It now works.
Autopar in Graphite can triggered by flag -fgraphite-force-parallel -ftree-parallelize-loops=4(thread number). Dependency checking is done during Graphite pass and code generation part will be done in autopar pass.
2. It now can parallel loops with if statement.
3. It now can work with some of the triangle loops.
Yes, some of the triangle loops we can't parallel restricted by the SCoP detection part. It will raise "number of iterations not known." For details, you could refer to this post.
4. It now only works with innermost loop. Due to a tests(the bottom of this page) for the runtime of autopar, it seems that we should always parallel the outermost first. The support for outerloop code generation will be soon developed by Razya.
Currently, I'm working on passing alias information and use this information to filter unnecessary dependency checking between 2pdrs. You can refer to this page and this page. Now in Graphite, it is implemented in a conservative way.
Saturday, July 25, 2009
Subscribe to:
Posts (Atom)