Polyhedral techniques that allow for precise and fine-grained reasoning about computational programs facilitate research in areas ranging from abstract interpretation over automatic parallelization to hardware synthesis.
Using Presburger Sets as mathematical tool, individual instances of computations and memory accesses in “sufficiently regular” programs are modeled, analyzed, and optimized. In this interactive tutorial, we introduce the foundations of polyhedral compilation and demonstrate how recent advances in interactive and graphical tools enable its intuitive and easy application. In particular, we address the following:
- Interactive calculations with Presburger sets
- Polyhedral modeling of imperative programs
- Optimization for data locality and parallelism
- Generation and re-generation of imperative code
- Automated transformations across languages with LLVM
- Advanced GPU and accelerator mapping techniques
- Interactive manual and semi-automatic transformations
- Analytical program modeling using integer set counting
Provided with a set of pre-made analysis tools, tutorial attendees learn how to develop themselves optimizing program transformation and how to use polyhedral modeling techniques to solve various problems in program engineering.
Thu 22 Jun
|13:40 - 15:20|