<!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 - Publications</title>
  <link type="text/css" rel="stylesheet" href="menu.css">
  <link type="text/css" rel="stylesheet" href="content.css">
</head>
<body>
<div id="box">
<!--#include virtual="menu.html.incl"-->
<div id="content">
  <!--*********************************************************************-->
  <h1>Publications</h1>
  <!--*********************************************************************-->

  <h2> Publications about polyhedral compilation </h2>
  <a href="http://polyhedral.info/publications.html">polyhedral.info</a> has a
  large list of publications related to polyhedral compilation. They are very
  useful to get an idea of the latest developments in this area of compilation
  as well as to understand what kind of optimizations can be built on top of
  Polly.

  <h2> Citing Polly</h2>

  The canonical publication to cite Polly is:

<p>
  <em>Polly - Performing polyhedral optimizations on a low-level intermediate
      representation </em><br />
Tobias Grosser, Armin Groesslinger, Christian Lengauer<br />
Parallel Processing Letters 2012 22:04<br />
  <a
href="http://www.worldscientific.com/doi/abs/10.1142/S0129626412500107?af=R">
Online Issue</a>
</p>

  <h2> Publications involving Polly </h2>
  <h3> 2012 </h3>
  <ul>
  <li><em>KernelGen - a prototype of auto-parallelizing Fortran/C compiler for NVIDIA GPUs</em><br />
  Dmitry Mikushin, Nikolay Likhogrud, Hou Yunqing, Sergey Kovylov<br />
  Multi-core Workshop 2012, NCAR, Boulder, CO<br /><a
  href="publications/kernelgen-ncar-2012-slides.pdf">Slides</a>
  </li>
  <li><em>KernelGen - a toolchain for automatic GPU-centric applications porting</em><br />
  Nikolay Likhogrud, Dmitry Mikushin, Andrew Adinets<br />
  Parallel Computational Technologies (PCT) 2012, Novosibirsk<br /><a
  href="publications/kernelgen-pavt-2012-slides.pdf">Slides</a>
  </li>
  </ul>
  <h3> 2011 </h3>
  <ul>
  <li><em>Polly - First Successful Optimizations - How to proceed?</em><br />
  Tobias Grosser, Ragesh A<br />
  LLVM Developer Meeting 2011<br /><a
  href="http://llvm.org/devmtg/2011-11/Grosser_PollyOptimizations.pdf">Slides</a>, <a
  href="http://llvm.org/devmtg/2011-11/videos/Grosser_PollyOptimizations-desktop.mov">Video
  (Computer)</a>, <a
  href="http://llvm.org/devmtg/2011-11/videos/Grosser_PollyOptimizations-mobile.mp4">Video
  (Mobile)</a></li>
  <li><em>A Framework for Automatic OpenMP Code Generation</em><br />
  Raghesh A<br />
  Masters Thesis (May 2011)<br />
  <a
  href="publications/raghesh-a-masters-thesis.pdf">Thesis</a>
  </li>
  <li><em>Enabling Polyhedral Optimizations in LLVM</em><br />
  Tobias Grosser<br />
  Diploma Thesis (April 2011)<br />
  <a
  href="publications/grosser-diploma-thesis.pdf">Thesis</a>
  </li>
  <li><em>Polly - Polyhedral Optimization in LLVM</em><br />
  Tobias Grosser, Hongbin Zheng, Ragesh Aloor, Andreas Simb&uuml;rger, Armin
  Gr&ouml;&szlig;linger, Louis-No&euml;l Pouchet<br />
  IMPACT at CGO 2011 <br />
  <a
  href="publications/grosser-impact-2011.pdf">Paper</a>, <a
  href="publications/grosser-impact-2011-slides.pdf">Slides </a>
  </li>
  </ul>
  <h3> 2010 </h3>
  <ul>
  <li><em>Polly - Polyhedral Transformations for LLVM</em><br />
  Tobias Grosser, Hongbin Zheng<br />
  LLVM Developer Meeting 2010<br /><a
  href="http://llvm.org/devmtg/2010-11/Grosser-Polly.pdf">Slides</a>, <a
  href="http://llvm.org/devmtg/2010-11/videos/Grosser_Polly-desktop.mp4">Video
  (Computer)</a>, <a
  href="http://llvm.org/devmtg/2010-11/videos/Grosser_Polly-mobile.mp4">Video
  (Mobile)</a></li>
  </ul>

  <h2>Publications used within Polly</h2>
  <h3>Polyhedral library</h3>
  <ul>
  <li><em>isl: An Integer Set Library for the Polyhedral Model </em><br />
  Sven Verdoolaege<br />
  ICMS 2010
  </li>
  </ul>
  <h3>Optimization</h3>
  <ul>
  <li><em>A Practical Automatic Polyhedral Parallelizer and Locality Optimizer
          </em><br />
  Uday Bondhugula, Alberto Hartono, J. Ramanujam, P. Sadayappan<br />
  PLDI 2008
  </li>
  <li><em>Effective Automatic Parallelization and Locality Optimization using
          the Polyhedral Model
          </em><br />
  Uday Bondhugula<br />
  PhD thesis 2008
  </li>
  </ul>
  <h3>Code Generation</h3>
  <ul>
  <li><em>Code Generation in the Polyhedral Model Is Easier Than You Think</em>
  <br />
  C&eacute;dric Bastoul<br />
  PACT 2004
  </li>
  </ul>
  <h2>Interesting Publications</h2>

  Publications that are not yet used or implemented in Polly, but that are
  interesting to look at either to understand general concepts or to implement
  the corresponding ideas. This list is incomplete and papers are added as
  we hear about them.<br />
  <h3>GPGPU</h3>
  <ul>
  <li><em>Automatic C-to-CUDA Code Generation for Affine Programs</em>
  <br />
  Muthu Manikandan Baskaran, J. Ramanujam and P. Sadayappan<br />
  CC 2010
  </li>
  <li><em>Putting Automatic Polyhedral Compilation for GPGPU to Work<em>
  Soufiane Baghdadi, Armin Gr&ouml;&szlig;linger, and Albert Cohen. <br />
  In Proc. of Compilers for Parallel Computers (CPC), 2010.
  </li>
  </ul>
  <h3>Vectorization</h3>
  <ul>
  <li><em>Joint Scheduling and Layout Optimization to Enable Multi-Level
  Vectorization</em>
  <br />
  Nicolas Vasilache, Benoit Meister, Muthu Baskaran, Richard Lethin<br />
  IMPACT 2012 (upcoming)
  </li>
  </ul>
  <h3>Iterative Compilation</h3>
  <ul>
  <li><em>Iterative optimization in the polyhedral model: Part I,
  one-dimensional time.  </em>
  <br />
  Louis-No&euml;l Pouchet, C&eacute;dric Bastoul, Albert Cohen and Nicolas Vasilache<br />
  CGO 2007
  </li>
  <li><em>Iterative optimization in the polyhedral model: Part II,
  multidimensional time.  </em>
  <br />
  Louis-No&euml;l Pouchet, C&eacute;dric Bastoul, Albert Cohen and John Cavazos<br />
  PLDI 2008
  </li>
  </ul>
  <h3>Non-static Control</h3>
  <ul>
  <li><em>The Polyhedral Model Is More Widely Applicable Than You Think</em>
  <br />
  Mohamed-Walid Benabderrahmane, Louis-No&euml;l Pouchet, Albert Cohen,
  C&eacute;dric
  Bastoul.<br />
  CC 2010
  </li>
  </ul>
  <h3>Source to Source Tools</h3>
  <ul>
  <li><em> Polyhedral Extraction Tool</em>
  <br />
  Sven Verdoolaege, Tobias Grosser<br />
  IMPACT 2012
  </li>
  </ul>
</div>
</div>
</body>
</html>
