[www] r298295 - Add two Polly GSoC ideas
Tobias Grosser via llvm-commits
llvm-commits at lists.llvm.org
Mon Mar 20 13:03:22 PDT 2017
Author: grosser
Date: Mon Mar 20 15:03:22 2017
New Revision: 298295
URL: http://llvm.org/viewvc/llvm-project?rev=298295&view=rev
Log:
Add two Polly GSoC ideas
Modified:
www/trunk/OpenProjects.html
Modified: www/trunk/OpenProjects.html
URL: http://llvm.org/viewvc/llvm-project/www/trunk/OpenProjects.html?rev=298295&r1=298294&r2=298295&view=diff
==============================================================================
--- www/trunk/OpenProjects.html (original)
+++ www/trunk/OpenProjects.html Mon Mar 20 15:03:22 2017
@@ -53,6 +53,12 @@
<li><a href="#lld_layout">Improve Code Layout</a>
</li>
</ul>
+ <ul>Polly
+ <li>
+ <a href="#pollypgo">Profile Guided Optimization in Polly</a>
+ <a href="#pollypassmanager">Move Polly to the new LLVM pass manager</a>
+ </li>
+ </ul>
<ul>Others
<li><a href="#apt">Integrate libc++ and OpenMP in apt.llvm.org</a>
</li>
@@ -609,6 +615,82 @@ Welcome prospective Google Summer of Cod
</div>
<!-- *********************************************************************** -->
+<div class="www_subsection">
+ <a>Polly</a>
+</div>
+<!-- *********************************************************************** -->
+
+
+<!-- *********************************************************************** -->
+<div class="www_subsubsection">
+ <a name="pollypgo">Profile Guided Optimization in Polly</a>
+</div>
+<!-- *********************************************************************** -->
+
+<div class="www_text">
+ <p><b>Description of the project: </b>
+ Even though Polly's compile time is today not a lot higher than other non-trial
+ IR passes, the need to version code in many situations and the lack of static
+ knowledge about loop iteration counts, hotness of functions, and parameter
+ requires Polly to be significantly more conservative than it would need to
+ be. The goal of this project is to connect Polly with the LLVM profiling
+ infrastructure to exploit profiling information to decide: 1) when to
+ run Polly, 2) how aggressive to version the code, 3) which code version
+ to emit, and 4) which assumptions to take. As a result, Polly should can
+ in profile guided builds become more aggressive, while still having a lower
+ compile time and code size impact.
+ </p>
+
+ <p><b>Confirmed Mentor:</b> <a href="mailto:tobias at grosser.es">Tobias Grosser</a></p>
+
+ <ul>
+ <li>PGO in LLVM: <a href="http://llvm.org/devmtg/2013-11/">2013 developer's meeting presentation</a>
+ </ul>
+</div>
+
+
+<!-- *********************************************************************** -->
+<div class="www_subsubsection">
+ <a name="pollypassmanager">Move Polly to the new LLVM pass manager</a>
+</div>
+<!-- *********************************************************************** -->
+
+<div class="www_text">
+ <p><b>Description of the project: </b>
+<p>Over the last years Chandler Carruth and others introduced a new pass manager
+to LLVM which uses a new caching based architecture to allow analysis results
+to be computed on demand. Besides resolving many engineering problems, the new
+pass manager has three interesting properties: 1) analysis results for multiple
+objects (e.g., functions) can be made available at the same time, 2) it is
+possible to access the analysis result from one function in another function or
+the analysis results from a function pass in a call-graph pass. 3) new pass
+managers can be instantiated easily.
+ </p>
+<p>
+The goal of this project is to port Polly to the new pass manager and use this
+opportunity to improve the overall pass design of Polly. The first step will
+be to make Polly future proof by providing the same functionality Polly already
+has with the old pass manager, in the context of the new pass manager. Next,
+facilities of the new pass manger can be exploited to remove Polly's dependence
+on the RegionPass infrastructure, and replace it with a Polly specific
+scop-pass manager, that executes scop-model only passes without the need to
+piggy-pack on some IR level analysis. Finally, the student thinks about how
+analysis results can be made available across functions.
+</p>
+
+<p>If the project is completed early, the student might look into exploiting
+the availability of analysis results from multiple functions to perform GPU
+code generation across functions</p>
+
+<p><b>Confirmed Mentor:</b> <a href="mailto:tobias at grosser.es">Tobias Grosser</a></p>
+
+<ul>
+ <li>More about the LLVM Pass manager: <a href="http://llvm.org/devmtg/2014-10/">Chandlers Presentation on 2014 Developer's Meeeting</a>
+</ul>
+</div>
+
+
+<!-- *********************************************************************** -->
<div class="www_subsubsection">
<a name="apt">Integrate libc++ and OpenMP in apt.llvm.org</a>
</div>
@@ -635,7 +717,6 @@ Welcome prospective Google Summer of Cod
</ul>
</div>
-
<!-- *********************************************************************** -->
<div class="www_sectiontitle">
<a name="what">What is this?</a>
More information about the llvm-commits
mailing list