[LLVMdev] [Summer of Code ideas] The polyhedral optimization framework for LLVM

ether zhhb etherzhhb at gmail.com
Wed Mar 24 19:33:59 PDT 2010


Hi all,

I would like to participate in Google's Summer of Code this year, for
LLVM(Polly), The polyhedral optimization framework (
http://wiki.llvm.org/Polyhedral_optimization_framework ) which i am already
working on with Tobias.

Polly is a polyhedral optimization framework for llvm, which similar to
Graphite for gcc (http://gcc.gnu.org/wiki/Graphite).  The main work flow of
Polly is:

    1. Transfer LLVM IR to polyhedral model represent (Polyhedral IR) with
the LLVM Region framework (
http://repo.or.cz/w/llvm-complete/pofl.git/shortlog/refs/heads/regioninfo)
and the Scalar Evolution infrastructure.
    2. Perform transformation on Polyhedral IR, e.g. advanced automatic
parallelization, optimize loops for cache locality.

    3. Generate LLVM IR with necessary metadata annoted from Polyhedral IR.

With Polly, we can generate high quality parallel code for platforms like
OpenMP, OpenGL, OpenCL, CUDA, and so on. and Polly will also give the user
from Electronic design automation (EDA) area (http://tce.cs.tut.fi/,
http://www.c-to-verilog.com/ and me :P ) a great help.

And I think I will focus on transfering LLVM IR to Polyhedral IR during my
summer of code, since there are others people also work on this project.

--best regards
ether
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20100325/93afde92/attachment.html>


More information about the llvm-dev mailing list