periscop / clay

Clay, the Chunky Loop Alteration wizardrY
2 stars 5 forks source link

Polyhedral unroll #20

Open ftynse opened 8 years ago

ftynse commented 8 years ago

Sieve transformation: use local dimensions of the scattering relation to schedule strided points differently. Unroll by N is a sieve by N followed by shifting i-th union part by -i to make it execute on the same iteration as the first part.

Closes #8 at the expense of branching control flow in CLooG-generated code to check for parameters being large enough. Noepilog version now seems useless.