PoCC
Version 1.0
- Author:
- Louis-Noël Pouchet <louis-noel.pouchet@inria.fr>
PoCC is a flexible source-to-source iterative and model-driven compiler, embedding most of the state-of-the-art tools for polyhedral compilation. The main features are:
- a full-flavored compiler, from C code to optimized C code
- the state-of-the art techniques in polyhedral optimization (iterative search among legal schedules, powerful model-driven tiling and parallelization)
- a flexible platform to quickly prototype and develop optimizations leveraging the polyhedral model
- modular design, configuration files-oriented, ...
PoCC embeds powerful Free software for polyhedral compilation. This software is accessible from the main driver, and several IR conversion functions allows to communicate easily between passes of the compiler.
- Clan, the Chunky loop analyzer, to extract a polyhedral intermediate representation from the source code
- Candl, the Chunky analyzer for dependences in loops, to compute polyhedral dependences from the polyhedral IR
- LetSee, the Legal transformation Space explorator, for iterative compilation using affine multidimensional schedules
- PLuTo, an automatic parallelizer and locality optimizer for multicores, for powerful optimization with tiling and parallelism in the polyhedral model
- CLooG, the Chunky Loop Generator, to generate syntactic code from the polyhedral representation
- PIPLib, the Parametric Integer Programming Library
- PolyLib, the Polyhedral Library
- FM, the Fourier-Motzkin library
{Communication}: three groups are available for subscription
- pocc-announces: receive announces about releases of the software
- pocc-users: discuss any matter about how to use PoCC
- pocc-dev: discuss any matter related to the software's implementation, bug fixes, desired features, etc...