Hi, some short note on coupling loop tiling and gloog code generator. I will need to extend mapping of old induction variables <-> new induction variables. Until now I assume preserved one-to-one relationship. But, this does not allow many of the loop transformations (like loop inversion). I will implement an mechanism to express old induction variable as the function (gimple expression) of new induction variables. Ideally it should handle functional relationship of any complexity. I also think this is necessary to enable code generation for tiled loops. Let me work on this ;)
regards, Konrad 2008/6/11 Cédric Bastoul <[EMAIL PROTECTED]>: > I started to write the following message two days ago but I wished to > send a .cloog which is not easy since I changed my laptop just before > the trip I'm still on ! I need to finish installing all the tools... > Here is the message, just a follow-up of Albert's one. > > Ced. > > --- > Hi Tobi, > Sebastian gave you the right pointers, you should also have a look at > examples in the CLooG test directory called tilingX.cloog. However to > be honest I'm not fond of the second solution you suggested. The > reason is the scattering is supposed to only drive the way the > polyhedra are scanned. Adding new dimensions there is against this > (well, I designed scattering this way -allowing inequalities- because > I wished to do that, but I changed my mind and now I think it's > dirty...). The right solution to me is acting both on the domain and > in the scattering (in the end, something similar to your second > solution). > > By the way we are incorporating directly inside CLooG the tiling > scheme described there > http://www.cs.colostate.edu/~ln/publications/pldi07.pdf (a student is > working on this at this moment). > --- > > On Mon, Jun 9, 2008 at 7:25 PM, Sebastian Pop <[EMAIL PROTECTED]> wrote: >> Hi Tobi, >> >> Thanks for working on this. >> >> Solution 2 is the right one. >> >> On Mon, Jun 9, 2008 at 11:58 AM, Tobias Grosser >> <[EMAIL PROTECTED]> wrote: >>> 1. It is not very efficient. As we have many multiplications in the >>> code. >>> Will later gcc optimization passes convert these multiplications to >>> additions? >>> >> >> Yes, you should not worry about scalar optimizations at all. >> >>> 2. I could not find any documentation about scattering functions, that >>> describe this way of using the scattering functions. >>> >> >> I think that the best place to look at this is: >> page 4 of http://www.lri.fr/~girbal/publi/ics05_facilitating.ps >> >> also have a look at the other reports from: >> http://www.lri.fr/~girbal/site_wrapit/ >> >> Albert probably has some other pointers for reports that describe how >> to do loop tiling. >> >>> Another graphite specific problem is, how we connect the real loop >>> variables to the cloog variables. Before loop tiling this was easy. >>> Loops of the same depth in the cloog output correspond to the loops of >>> the same depth in the original gimple loop nest. But know we have to add >>> some data structure, that connects the gimple loops, with the cloog >>> loops. >>> >> >> This was also the case before: we needed a map between the old >> induction variable and the new ones. >> >> Sebastian Pop >> -- >> AMD - GNU Tools >> >