Polyhedral Compilation Foundations

888.11 seminars




[<< home] [Lecture 1] [Lecture 2] [Lecture 3] [Lecture 4] [Lecture 5]

Lecture 1: Iteration domains

Download the slides here

Note: we will go back on Z-polyhedra next class, and talk about image of a polyhedron by an affine function. This is indeed required to compute the set of array cells accessed during a computation.

Some useful reading

Practicing (optional)




Lecture 2: Data Dependence

Download the slides here

The latest build of PoCC, the Polyhedral Compiler Collection, can be downloaded here.

To install PoCC:

$> tar xzf pocc-1.0-rc1-201021-full.tar.gz
$> cd pocc-1.0-rc1-201021-full
$> ./install.sh
$> make check

To compute and display the dependence polyhedra for a program test.c (only the part delimited by #pragma scop and #pragma endscop will be analyzed):

$> analyzers/install-clan/bin/clan test.c | analyzers/install-candl/bin/candl -inscop -structure stdin

Some useful reading

Practicing





Lecture 3: Scheduling and Optimization - I

Download the slides here

Note: we will go back on 1-d schedules next class, then move to the general case of multidimensional schedules

Some useful reading

Practicing





Lecture 4: Scheduling and Optimization - II

Download the slides here

Note: For Monday, March 1st I'd like to have a student present one of the following papers (in of preference):

Some useful reading

Practicing





Lecture 5: Scheduling and Optimization - III

Download the slides here

Note: For Monday, March 1st we have Sanket presenting Supernode Partitioning.

Some useful reading

Practicing




Copyright notice Some of the images and examples in this series of slides were grabbed from Wikipedia, Cedric Bastoul's Ph.D thesis and Uday Bondhugula's Ph.D thesis. They are gratefully acknowledged for their indirect contribution!