Peeking into a polyhedral compiler through the Periscop toolkit
Optimizing compilers often operate as black-boxes offering little control over the optimization process. This is largely due to the complexity of the program modifications required to achieve decent performance. The polyhedral model—the core of advanced loop-level transformations—is notoriously complex: it operates on an abstract mathematical representation of the program rather than on a syntactic one. The Periscop toolkit[1] enables interaction with a polyhedral compiler using syntactic rather than polyhedral terms. It decomposes automatically computed transformations into sequences of well-understood syntactic steps. These sequences can be analyzed, reused or modified on demand while the polyhedral engine generates the final code and ensures semantics preservation. The Periscop toolkit features a collection of tools for program transformation and analysis that use only the basic Unix compiler technology and therefore is easily adaptable. Its applications span from new language constructs[2] to visual tools[3,4] for analyzing and explaining polyhedral constructs.
[1] https://periscop.github.io [2] https://team.inria.fr/camus/ibb/ [3] https://ozinenko.com/clint [4] http://playground.pollylabs.org
Fri 23 JunDisplayed time zone: Amsterdam, Berlin, Bern, Rome, Stockholm, Vienna change
10:30 - 12:10 | |||
10:30 50mTalk | The Spoofax Language Workbench WCIRE Eelco Visser Delft University of Technology Link to publication | ||
11:20 50mTalk | Peeking into a polyhedral compiler through the Periscop toolkit WCIRE Oleksandr Zinenko Inria |