loopy
loopy copied to clipboard
Implements loop distribution transformation
TODO:
- [x] Do index analysis to verify the validity of the iname-duplication passes.
- [x] Add complicated regressions.
Draft because:
- [ ] includes commits from #350.
- [ ] Needs pytools==2022.2 (https://github.com/inducer/pytools/pull/145)
This is on hold currently as @inducer and I agreed in a personal chat that:
- The soundness checking is hokey and must wait for proper dependencies in loopy.
- The greedy approach of selecting the duplication groups doesn't achieve minima and even in practical cases does not get a reasonable solution.
The soundness checking is hokey and must wait for proper dependencies in loopy.
To the extent that this is @kaushikcfd channeling what I said, I feel I should reword this. :slightly_smiling_face: This PR introduces special-purpose soundness checking for the case of loop distribution. While that's clearly useful and important, I think that this could be (more precisely, and at the same in a non-special-purpose manner) handled by generic dependency checking along the lines of #479. That's something I'd like to make some progress toward this summer.