devitocodes / opesci-fd

A framework for automatically generating finite difference models from a high-level description of the model equations.

Home Page:http://opesci.org

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Internalising polyhedral loop transformations

mlange05 opened this issue · comments

With an in-memory representation of the generated loop nests we can now look into performing polyhedral loop transformations ourselves. One possibility is to directly interface with CLooG, a free library that "solves the code generation model for optimizing compilers based on the polytope [polyhedral] model". As an exploratory exercise we should investigate what is required to interface with CLooG directly in order to gain closer control over the loop optimisation.

Another project which might be of interest for internalising loop re-writing is Loo.py, a Python package that is closely related to cgen and is used to perform loop transformations for CUDA and OpenCL.

For background reading on polyhedral compilation please see Cédric Bastoul's thesis:
http://icps.u-strasbg.fr/~bastoul/research/papers/Bastoul_thesis.pdf

Do you mention Loo.py here as an example of loop manipulation in python or as an alternative to ClooG, to be used in this project for loop transformations?