[llvm-commits] [polly] r133354 - /polly/trunk/www/documentation/memaccess.html

Tobias Grosser tobias at grosser.es
Tue Jun 21 16:37:56 PDT 2011


On 06/18/2011 02:17 PM, Raghesh Aloor wrote:
> Author: raghesh
> Date: Sat Jun 18 12:17:16 2011
> New Revision: 133354
>
> URL: http://llvm.org/viewvc/llvm-project?rev=133354&view=rev
> Log:
> www: Adding webpage to track memory access transformation

Hi Raghesh,

thanks for your work. I still have some comments:

You forgot to add the disclaimer that this is a work in progress 
project. Furthermore, the HTML you used is pretty noisy (details 
inline). The next time we should review it before committing.

> Added:
>      polly/trunk/www/documentation/memaccess.html
>
> Added: polly/trunk/www/documentation/memaccess.html
> URL: http://llvm.org/viewvc/llvm-project/polly/trunk/www/documentation/memaccess.html?rev=133354&view=auto
> ==============================================================================
> --- polly/trunk/www/documentation/memaccess.html (added)
> +++ polly/trunk/www/documentation/memaccess.html Sat Jun 18 12:17:16 2011
> @@ -0,0 +1,143 @@
> +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
> +<html>
> +<head>
> +<meta content="text/html; charset=ISO-8859-1"
> + http-equiv="Content-Type">
> +<title>memaccess.html</title>

Can you use a title like 'Polly - Memory access optimizations'
You should include menu.css and content.css

I propose to just use the header from documention/passes.html as a 
template. (This is true for most of the comments I give)


<!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 - The available LLVM passes</title>
   <link type="text/css" rel="stylesheet" href="../menu.css">
   <link type="text/css" rel="stylesheet" href="../content.css">
</head>

> +</head>
> +<body>

You miss the line to include the menu.
<!--#include virtual="../menu.html.incl"-->

> +<div style="margin-left: 320px;"><small style="font-weight: bold;"><small><a><big><big><big>Support

Just create a large div with id="content" that includes the whole 
content of this page.

> +for
> +memory access
> +transformations in Polly</big></big></big></a></small></small><big><span
> + style="font-weight: bold;"></span></big><br>
Use <h1> for the header. All the other tags are just noise and disallow 
a consistent design.

> +<big><span style="font-weight: bold;"></span></big><br>
Useless noise.

> +<div style="text-align: left;">
This does not seem to be needed.

> +<strong></strong>
Useless noise.


> +This project adds
> +memory access transformations to Polly. In many cases<br>
<br> Not needed.

> +changing the memory access pattern yields to better data
> +locality or removes<br>
<br> not needed.

> +dependences that would otherwise block
> +transformations. They may also<br>
                   . Memory access transformations may also ...

<br> not needed

> +allow LLVM to use registers to store
> +certain values.<br>
<br> not needed

> +</div>
> +<br>
<br> not needed.

> +An examples which uses this feature is given below<br>
This seems to be a new paragraph. Put it in a <p></p> to get the newlines.

> +</div>
> +<div style="margin-left: 320px;"><br>
I do not see a reason for this <div>

> +Consider the following loop
> +<ul>
> +<ul>
> +</ul>
> +</ul>
Useless noise.

> +<div style="margin-left: 40px;"><small style="font-style: italic;">
Just use <pre> to format the code.

> + for
> +(i = 0; i< 8; i++)</small><br>
> +<small style="font-style: italic;">sum += A[i];</small><br
> + style="font-style: italic;">
All this formatting and <br> not needed.

> +</div>
> +<br>
> +With support for memory access transformation this loop can be executed<br>
> +in parallel. It can be
> +transformed to

 > +<small style="font-style: italic;"><br>
> +<br>
> +</small>
Useless noise.

> +<div style="margin-left: 40px;">
<div> not needed.

 > +<small style="font-style: italic;"><create
> +and
> +initialize an array 'tmp'
> +with size 4></small><br>
> +<small style="font-style: italic;">for (i = 0; i< 8; i++) {</small><br>
> +<small style="font-style: italic;">tmp[i % 4] += A[i];</small><br>
> +<small style="font-style: italic;">}</small><small><span
> + style="font-style: italic;"></span></small><br>
> +<small><span style="font-style: italic;">sum = tmp[0] + tmp[1] + tmp[2]
> ++ tmp[3];</span></small><br>
All formatting not needed. Just use a big <pre> block.

> +</div>
> +<br>
> +With the help of some optimizer (like
> +PluTo) the following code can be<br>
<br> not needed.

"With the help of optimizers like PluTo the following

> +generated, where the outer loop is
> +parallel.
> +<p style="padding-left: 30px; font-style: italic;"><small>parfor (ii =
> +0; ii< 4; ii++) {<br>
> +   tmp[ii] = 0;<br>
> +    for (i = ii * 2; i< (ii+1) * 2; i++)<br>
> +      tmp[ii] += A[i];</small></p>
> +<p style="padding-left: 30px; font-style: italic; font-weight: bold;"><small><span
> + style="font-weight: normal;">}</span><br style="font-weight: normal;">
> +<span style="font-weight: normal;">sum = tmp[0] + tmp[1] + tmp[2] +
> +tmp[3];</span><br>
> +<strong></strong></small></p>
Useless style noise. Just use <pre>

> +<p><strong><span style="text-decoration: underline;">TODO<br>
> +</span></strong></p>
Do not use <strong><span><p> here. Just use <h2>

> +<p><strong><span style="text-decoration: underline;"><small>Step 1</small><br>
> +</span></strong></p>
Just use <h3>

> +Polly exports its polyhedral description in a JSCoP file. Define how
> +memory
 > +<small><br>
> +</small>
Useless noise. <br> not needed.

> +layout transformations are going to be expressed in Polly and
> +in
> +the JSCOP file.<br>

> +A simple example is given below.<br>
> +<br>
> +Consider the following loop.<br>
> +<br>
<br> not needed. Use <p> to mark a paragraph.

> +<div style="margin-left: 40px;"><small><span style="font-style: italic;">for
> +(i
> += 0; i< 12; i++)</span><br style="font-style: italic;">
> +<span style="font-style: italic;">     A[i] = 0;</span><br
> + style="font-style: italic;">
> +</small></div>
Useless style noise. Just use <pre>.

> +<br>
> +In the JSCOP file the memory is represented as follows.<br>
> +<br>
> +<div style="margin-left: 40px;"><small><span style="font-style: italic;">  
> +"accesses":
> +[{</span></small><br style="font-style: italic;">
> +<small><span style="font-style: italic;">          
> +"kind":
> +"write",</span></small><br style="font-style: italic;">
> +<small><span style="font-style: italic;">          
> +"relation":
> +"{
> +Stmt[i] -></span><strong
> + style="font-style: italic; font-weight: bold;">A</strong><span
> + style="font-style: italic;"><span style="font-weight: bold;">[i]</span>
> +}"</span></small><br style="font-style: italic;">
> +<small><span style="font-style: italic;">    }]</span></small><br
> + style="font-style: italic;">
> +</div>
Useless style noise and  . Just use <pre>

> +<br>
> +Suppose
> +we want to perform a transformation such that the following<br>
> +code is generated<br>
> +<br>
Get rid of <br> and use a single <p>.

> +<div style="margin-left: 40px;"><small><span style="font-style: italic;">for
> +(i
> += 0; i< 12; i++)</span><br style="font-style: italic;">
> +<span style="font-style: italic;">
> +     A[0] = i;</span><br style="font-style: italic;">
> +</small></div>
Style noise. Use <pre>.

> +<br>
> +The corresponding JSCOP file represenation would be<br>
> +<br>
> +<div style="margin-left: 40px;"><small><span style="font-style: italic;">   
> +"accesses":
> +[{</span><br style="font-style: italic;">
> +<span style="font-style: italic;">          
> +"kind":
> +"read",</span><br style="font-style: italic;">
> +<span style="font-style: italic;">          
Style and   noise. Just use <pre>.

> +"relation":
> +"{
> +Stmt[i] -></span><strong
> + style="font-style: italic; font-weight: bold;">A</strong><span
Please don't use any inline style specifiers. If you want to highlight 
something use <em> or <b>. For anything else define a new style in the 
.css files after verifying something similar is not available.

> + style="font-style: italic;"><span style="font-weight: bold;">[0]</span>
> +}"</span><br style="font-style: italic;">
> +<span style="font-style: italic;">    }]</span><br
> + style="font-style: italic;">
> +</small></div>
Style noise.

> +<br>
> +We need to detect this access function change.<br>
> +</div>
> +<span id="q_12f99e5de7fd0932_1" class="h4"></span>
Is this needed for anything?

> +</body>
> +</html>

Again, thanks for your work
Tobi



More information about the llvm-commits mailing list