hanchenye-llvm-project/polly/www/index.html

82 lines
4.2 KiB
HTML

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN"
"http://www.w3.org/TR/html4/strict.dtd">
<!-- Material used from: HTML 4.01 specs: http://www.w3.org/TR/html401/ -->
<html>
<head>
<META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>Polly - Polyhedral optimizations for LLVM</title>
<link type="text/css" rel="stylesheet" href="menu.css">
<link type="text/css" rel="stylesheet" href="content.css">
</head>
<body>
<!--#include virtual="menu.html.incl"-->
<div id="content">
<!--*********************************************************************-->
<h1>Polly: Polyhedral optimizations for LLVM</h1>
<!--*********************************************************************-->
<p>Polly is a project that works on advanced optimizations for data-locality
and parallelism. It uses the polyhedral model, a high-level mathematical
abstraction, to analyse and optimize the memory access pattern of a program.
Due to the use of a polyhedral representation Polly can easily calculate
detailed data dependency information which it uses to derive an optimized loop
structure. Polly can speed up sequential code by improving memory locality and
consequently the cache use. Furthermore, Polly is able to expose different
kinds of parallelism which it exploits by introducing (basic) OpenMP and SIMD
code. The automatic use of vector accelerators is planned and will take
avantage of the ongoing work on the LLVM PTX backend.
</p>
<em> Polly is still a research project, that is not production quality. We are
working on a robust implementation of Polly's core. You are invited to join us
by directly contributing to Polly or by using it for your own research.</em>
<!--=====================================================================-->
<h2>Major changes in Polly</h2>
<!--=====================================================================-->
<ul>
<li>June 2011 - <a href="http://www.grosser.es">Tobias</a> is founded for
three years through a <a
href="http://research.google.com/university/relations/fellowship_recipients.html">
Google Europe Fellowship in Efficient Computing</a>.
</li>
<li>May 2011 - <a href="http://www.grosser.es">Tobias</a>' diploma thesis and
Raghesh's master thesis are published. For details see our <a
href="publications.html">list of publications</a>.</li>
<li>April 2011 - Polly moves to the LLVM infrastructure </li>
<li>March 2011 - Polly is presented at <a
href="http://impact2011.inrialpes.fr/">CGO/IMPACT 2011</a>, Polly can compile
polybench 2.0 with vectorization and OpenMP code generation. </li>
<li> Februar 2011 - pollycc - a script to automatically compile with
polyhedral optimizations </li>
<li> Januar 2011 - Basic OpenMP support, Alias analysis integration,
Pluto/POCC support </li>
<li> Dezember 2010 - Basic vectorization support </li>
<li> November 2010 - Talk about Polly at the <a
href="http://llvm.org/devmtg/2010-11/">LLVM Developer Meeting</a> </li>
<li> October 2010 - Added dependency analysis </li>
<li> October 2010 - Finished Phase 1 - Get something working </li>
<li> October 2010 - Support for scalar dependences and sequential SCoPs </li>
<li> August 2010 - RegionInfo pass committed to llvm </li>
<li> August 2010 - llvm-test suite compiles </li>
<li> July 2010 - Code generation works for normal SCoPs. </li>
<li> June 2010 - OpenSCoP import/export works (as far as openscop is finished)
</li>
<li> May 2010 - The CLooG AST can be parsed </li>
<li> April 2010 - SCoPs can automatically be detected (WIP) </li>
<li> March 2010 - The RegionInfo framework is almost completed. </li>
<li> February 2010 - Translating a simple loop to Polly-IR and passing it to
CLooG-isl to regenerate a loop structure works. </li>
<li> February 2010 - ISL and CLooG are integrated. </li>
<li> January 2010 - The RegionInfo pass is finished. </li>
<li> End of 2009 - Work on the infrastructure started. </li>
</ul>
<!--=====================================================================-->
<h2> The architecture of Polly</h2>
<!--=====================================================================-->
<img src='images/architecture.png' />
</div>
</body>
</html>