<!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 - GPGPU Code Generation</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>Polly - GPGPU Code Generation</h1>
  <!--*********************************************************************-->
<p><em>WARNING: This project was part of the Google Summer of Code 2012.
It is currently not finished, but it is in the design and implementation stage.
The ideas/plans described here may not yet be implemented in Polly and may
change later on.</em></p>

This project adds GPGPU code generation feature to Polly.

<h2>Objective</h2>
<p>The overall objective of this GSoC project is to create a preliminary
   implementation of GPGPU code generation for Polly. With this addition, users
   can parallelize some perfectly nested loops with Polly to execute on a
   heterogeneous platform, composed of CPU and GPU.</p>
<p>There are several successful projects about automatic source-to-source gpu
   code transformation. C-to-CUDA[1] uses the standard Pluto algorithms for
   computing an affine schedule and then applies a wavefront transformation to
   obtain one sequential and n-1 parallel loops. The parallel loops are then
   mapped onto the blocks and threads of GPU. PPCG[2] introduces some advanced
   algorithms which can expose much more parallelism than other methods . And It
   also introduces affine partition heuristics and code generation algorithms
   for locality enhancement in the registers and shared memory.</p>
<p>Since automatic GPGPU code generation is quite a complex problem and what we
   target is a low-level intermediate representation, LLVM IR, rather than a
   high-level language source, it is important for us to set a proper objective
   as a start step to give a complete solution to GPGPU code generation for LLVM
   IR.</p>
<p>Firstly, we plan to target two kinds of relatively simple test cases. One is
   comprised of pure parallel and perfectly nested loops, like the following
   code.</p>
<pre>
parfor(int i=0 to M)
  parfor(int j=0 to N)
    LoopBody(i, j);
</pre>
<p>Another one is that all the loops in it are parallel except the inner-most
   one, just like this:</p>
<pre>
parfor(int i=0 to M)
  parfor(int j=0 to N)
    non-parfor(int k=0 to K)
      LoopBody(i, j, k);
</pre>
<p>The LoopBody part should be limited to instructions or functions calls
   (intrinsics) which can be handled by LLVM's NVPTX backend.</p>
<p>On the other hand, we focus on building a preliminary and scalable framework
   of GPGPU code generation for polly. Thus we plan to employ relatively simple
   tiling and mapping algorithms and optimize them later.</p>
<h2>Work Flow</h2>
<h3>GPGPU Code Generation In General</h3>
<p>C-to-CUDA[1] and PPCG[2] propose similar steps to solve the automatic GPGPU
   code generation problem.</p>
<li>Look for parallel loops.</li>
<li>Create a polyhedral model from the loops.</li>
<li>Tile and map the loops to GPU blocks and threads.</li>
<li>Determine where to place the data.</li>
<h3>What has been done in Polly</h3>
<p>Polly has implemented the 1st, 2nd and part of the 3rd of the above steps and
   many other analysis and transformation passes.</p>
<h3>What to do in Polly</h3>
<p>Unlike many source-to-source optimizers such as C-to-CUDA and PPCG, Polly is
   a low-level optimizer, which means we can't use a source-level compiler
   (e.g. NVCC) to generate the final assembly for the device. We need manually
   insert device driver API calls to execute the generated kernel assembly
   text.</p>
<p>In this project, we assume that the device driver library has provided an
   interface to launch kernels in the form of assembly text. Fortunately, most
   of the mainstream GPU vendors provide such a feature in thier products (see
   ptxjit of NVIDIA GPUs and CAL of AMD GPUs). Generally speaking, what we
   are going to do in Polly is:</p>
<li>Find a way to tile the parallel loops.</li>
<li>Find a way to extract the loop body and transform it into thread-centric
    parallel code.</li>
<li>Find a way to store/load the thread-centric code into/from a device module.
<li>Find a way to pass the target machine information and generate code of the
    device module for the target.
<li>Find a way to map the tiled loop to GPU blocks and threads.</li>
<li>Find a way to insert CUDA synchronization operations on-demand.
<li>Find a way to generate the memory copy operations between a host and a
    device.</li>
<li>Implement/Wrap a runtime library to serve as the execution engine for the
    generated device code.</li>

<h3>The Work Flow</h3>
<p>In this section, we assume that the host cpu is X86 and the device is NVIDIA
   CUDA-compatible. we will use the following test case to describe our work
   flow.</p>
<pre>
for(i = 0; i &lt; 128; i++)
      for(j = 0; j &lt; 128; j++)
              A[i][j] = i*128 + j;
</pre>
<p>The work flow of our code generator is as follows.</p>
<p>1.We first use Polly's jscop file importer to get a wanted 4-level parallel
   tiled code.</p>
The "schedule" part of the pre-optimization jscop file is as the following:
<pre>
"schedule" : "{ Stmt_for_body3[i0, i1] -&gt; scattering[0, i0, 0, i1, 0] }"
</pre>
The jscop file describing the tiling transformation is:
<pre>
"schedule" : "{ Stmt_for_body3[i0, i1] -&gt; scattering[0, o0, o1, o2, o3]:
              o0 &gt;= 0 and o0 &lt;= 7 and o1 &gt;= 0 and o1 &lt;= 15 and
              o2 &gt;= 0 and o2 &lt;= 7 and o3 &gt;= 0 and o3 &lt;= 15 and
              i0 = 16o0 + o1 and i1 = 16o2 + o3 }"
</pre>
We can test the schedule with the following command line.
<pre>
opt -load /path/to/polly/build/LLVMPolly.so -basicaa -polly-import-jscop
    -polly-ast -analyze -q ./test.ll
    -polly-import-jscop-postfix=transformed+gpu
</pre>
The output of this schedule is:
<pre>
for (c2=0;c2&lt;=7;c2++) {
  for (c3=0;c3&lt;=15;c3++) {
    for (c4=0;c4&lt;=7;c4++) {
      for (c5=0;c5&lt;=15;c5++) {
        Stmt_for_body3(16*c2+c3,16*c4+c5);
      }
    }
  }
}
</pre>
Now we get a 4-dimensional parallel loops with a single SCoP statement in it.
<p>2.We then extract the loop body (or the inner-most non-parallel loop) into a
   LLVM function, tagging it with PTX_Kernel call convention.</p>
<p>3.We extract the PTX_kernel function into a temporary module, set the target
   triple (e.g. nvptx64-unknown-linux) for the module, transform the temporary
   module into a string, store it in the original module and erase the
   PTX_kernel function.</p>
<p>4.We replace the loops with their GPGPU counterpart. The GPGPU part of code
   is composed of a call to the llvm.codegen intrinsic and function calls to our
   GPU runtime library.</p>
<p>5.Finally, we generate the executable program with <em>llc</em> or run the
   optimized LLVM IRs with a JIT compiler like  <em>lli</em>.</p>
<h2>Usage</h2>
<p>1. Apply the llvm.codegen intrinsic patch to LLVM code base.</p>
<pre>cd /path/to/llvm/source
git am /path/to/polly/source/utils/0001-Add-llvm.codegen-intrinsic.patch</pre>
<p>2. Build the test case.</p>
<pre>/path/to/polly/source/test/create_ll.sh test.c</pre>
<p>3. Get and edit the jscop file (take function "gpu_codegen" as an example).
</p>
<pre>opt -load /path/to/polly/build/lib/LLVMPolly.so -basicaa
    -polly-export-jscop ./test.ll
cp gpu_codegen___%for.cond---%for.end8.jscop
   gpu_codegen___%for.cond---%for.end8.jscop.transformed+gpu
vi gpu_codegen___%for.cond---%for.end8.jscop.transformed+gpu</pre>
<p><em>(Please refer to section "The Work Flow" on how to edit the "schedule"
       part of a statement)</em></p>
<p>4. Optimize the code with GPGPU code generation.</p>
<pre>opt -load /path/to/polly/build/lib/LLVMPolly.so -basicaa
    -polly-import-jscop-postfix=transformed+gpu -enable-polly-gpgpu
    -polly-gpgpu-triple=nvptx64-unknown-unknown -polly-codegen ./test.ll -S
    -o test.gpued.ll</pre>
<p>5. Build the final assembly and executable.</p>
<pre>llc test.gpued.ll -o test.s
gcc test.s -lGPURuntime -o test</pre>
<p><em>(Please make sure that LD_LIBRARY_PATH is set properly so that
        /path/to/polly/build/lib/libGPURuntime.so is visible to gcc.)</em></p>
<h2>TODO List</h2>

<table class="wikitable" cellpadding="2">
<tbody>
<tr style="background: rgb(239, 239, 239)">
  <th width="400px"> Tasks</th>
  <th width="150px"> Status </th>
  <th> Owner </th>
</tr>
<tr>
<th align="left">Tiling the Parallel Loops with An External Jscop File</th>
<td align="center" class='open'>Open, In Design</td>
<td>Yabin Hu</td>
</tr>
<tr>
<th align="left">GPU Runtime Library Implementation</th>
<td align="center" class='inprogress'>Coding Finished, In Reviewing</td>
<td></td>
</tr>
<tr>
<th align="left">llvm.codegen Intrinsic Implementation</th>
<td align="center" class='inprogress'>Codeing Finished, To Be Reviewed</td>
<td></td>
</tr>
<tr>
<th align="left">Code Generation For Host</th>
<td align="center" class='inprogress'>50% Done</td>
<td></td>
</tr>

</tbody></table>

<h2>References</h2>
<li type="1" value="1">
<em>Automatic C-to-CUDA Code Generation for Affine Programs. </em><br />
    Muthu Manikandan Baskaran, J. Ramanujam and P. Sadayappan.<br />
    International Conference on Compiler Construction (CC) 2010.<br />
</li>
<li type="1"><em>PPCG Project</em><br />
<a href="http://freecode.com/projects/ppcg">http://freecode.com/projects/ppcg
</a></li>
<li type="1">
<em>Where is the Data? Why You Cannot Debate GPU vs. CPU Performance Without the
    Answer. </em><br />
  Chris Gregg and Kim Hazelwood<br />
  International Symposium on Performance Analysis of Systems and Software
  (ISPASS) 2011.
</li>
<p></p>
</div>
</div>
</body>
</html>
