On 01/01/2013 10:53 AM, Shakthi Kannan wrote:
Greetings!

I would like to know if there are any TODO tasks that I can work on to
get started with Graphite/GCC. I came across Tobias Grosser's post
regarding Graphite development at:

   http://gcc.gnu.org/wiki/Graphite-4.8

If you have any suggestions, please do let me know.

Hi Shakthi,

sorry to jump in late. I think there are several interesting open tasks.

1) Use isl code generation

isl 0.18 provides a new code generation. Enabling graphite to use it would be great. Main benefits:

        - Remove one library dependence (gcc)
        - Better code

        The new code generator can often prove that a division is
        actually a plain C division or a plain modulo. This often
        replaces the otherwise costly floord() operations.


        - Fine-grained parametrization

        The code generator can be parametrized on a per iteration level.
        This will allow us to fine tune the code generation by
        setting unrolling, code size parameters or full/partial tile
        separation for each iteration and loop depth.

2) Performance evaluation / improvements

Richard had some examples where the dependence calculation of isl took very long time. It may be interesting to investigate where the problem is and what can be fixed. Richard also once suggested that it may be interesting to test if isl can be speed up if it uses most of the time native 64 bit integers and only falls back to gmp if unavoidable. As I have also seen gmp showing up in many profiling runs, I would be very interested in work here.

3) Make graphite usable on polybench

We know that with source to source techniques, polyhedral optimizers can give large speedup on the polybench benchmark kernels. With the recently added isl scheduling optimizer graphite has all infrastructure to obtain the very same speedups. However, to my knowledge this was never tested and there may be a couple of bugs that are still in the way. It would be great to investigate what we can already achieve today and which bugs still need to be solved. If you could look into solving some of the bugs on your way, this would be a big step forward for graphite.

That's so far from my side. If you have further questions, feel free to ask. (Also ping me. I must admit that I sometimes miss mails, that I really wanted to reply to)

All the best,
Tobi




Reply via email to