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