<!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> 2015 </h3>
  <ul>
  <li><em>On recovering multi-dimensional arrays in Polly</em><br />
  Tobias Grosser, Sebastian Pop, J. Ramanujam, P. Sadayappan <br />
  Impact2015 at HiPEAC, Amsterdam, The Netherlands<br />
  Slides & Paper: <a href="http://impact.gforge.inria.fr/impact2015/">Impact2015</a>
  </li>
  <li><em>Polly's polyhedral scheduling in the presence of reductions </em><br />
  Johannes Doerfert, Kevin Streit, Sebastian Hack, Zino Benaissa<br />
  Impact2015 at HiPEAC, Amsterdam, The Netherlands<br />
  Slides & Paper: <a href="http://impact.gforge.inria.fr/impact2015/">Impact2015</a>
  </li>
  </ul>
  <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>
