13 lines
806 B
Text
13 lines
806 B
Text
|
Polly is a high-level loop and data-locality optimizer and optimization
|
||
|
infrastructure for LLVM. It uses an abstract mathematical representation based
|
||
|
on integer polyhedra to analyze and optimize the memory access pattern of a
|
||
|
program. We currently perform classical loop transformations, especially tiling
|
||
|
and loop fusion to improve data-locality. Polly can also exploit OpenMP level
|
||
|
parallelism, expose SIMDization opportunities. Work has also be done in the
|
||
|
area of automatic GPU code generation.
|
||
|
|
||
|
For many users, however, it's not the existing optimizations in Polly that are
|
||
|
of most interest, but the new analyses and optimizations enabled by the Polly
|
||
|
infrastructure. At polyhedral.info you can get an idea of what has already been
|
||
|
done and what is possible in the context of polyhedral compilation.
|