<html><head></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space; "><div><div>Am 19.04.2011 um 16:44 schrieb John Criswell:</div><br class="Apple-interchange-newline"><blockquote type="cite">
<div bgcolor="#ffffff" text="#000000">
    On 4/19/11 5:57 AM, Andreas Wilhelm wrote:
    <blockquote cite="mid:20110419105726.54570@gmx.net" type="cite">
      
      <span style="font-family: Verdana;"><span style="font-size: 12px;">Hello,<br>
          <br>
          I found some code within the pool allocation project to
          identify parallelizable function calls.<br>
          Unfortunately the functionality isn't part of the current
          release of poolalloc (in release 14 it was).<br>
        </span></span></blockquote>
    <br>
    Can you tell me in what file(s) this is implemented?  I wasn't aware
    that the poolalloc project had such an analysis.<br></div></blockquote><br><span class="Apple-style-span" style="font-family: Verdana; font-size: 12px; ">The automatic parallelization was implemented in poolalloc/lib/DSA/Parallelize.cpp. The pass uses the PDG of class PgmDependenceGraph to identify parallelizable function calls. Do you know something about the idea behind those code?</span><br><blockquote type="cite"><div bgcolor="#ffffff" text="#000000">
    <br>
    <blockquote cite="mid:20110419105726.54570@gmx.net" type="cite"><span style="font-family: Verdana;"><span style="font-size: 12px;"> <br>
          My intention is to estimate the parallelization-potential of
          sequential applications concerning coarse-grained parallelism.<br>
          Can you tell me...<br>
          <br>
          1. Why are classes of pollalloc, like the one for creating a
          Program Dependence Graph (DPG), not supported anymore?<br>
        </span></span></blockquote>
    <br>
    It's probably not supported because no one is using it.  We
    primarily use Automatic Pool Allocation as part of the SAFECode
    memory safety compiler, so we haven't needed this functionality.<br>
    <br>
    If you'd like to try to get it working again, we'd welcome patches
    for mainline poolalloc.<br>
    <br>
    <blockquote cite="mid:20110419105726.54570@gmx.net" type="cite"><span style="font-family: Verdana;"><span style="font-size: 12px;"> 2.
          Do you know any other existing tools or practices to identify
          parallelizable function calls?<br>
        </span></span></blockquote>
    <br>
    I don't work on automatic parallelization, so I'd prefer input from
    others.  That said, I believe the Polly framework and LLVM's memory
    dependence analysis pass may be useful.  As parallelizing C programs
    will need points-to analysis, the DSA project (found within the
    poolalloc source code) or the work of Calvin Lin and Ben Hardekopf
    (<a class="moz-txt-link-freetext" href="http://www.cs.ucsb.edu/~benh/downloads.html">http://www.cs.ucsb.edu/~benh/downloads.html</a>) may be useful, too.<br>
    <br></div></blockquote><div><br></div>Thank you, I will look through your recommendations.</div><div><br></div><div>Andreas<br><blockquote type="cite"><div bgcolor="#ffffff" text="#000000">
    -- John T.<br>
    <br>
    <blockquote cite="mid:20110419105726.54570@gmx.net" type="cite"><span style="font-family: Verdana;"><span style="font-size: 12px;"> <br>
          Thanks in advance<br>
          <br>
          Andreas</span></span>
      <pre wrap=""><fieldset class="mimeAttachmentHeader"></fieldset>
_______________________________________________
LLVM Developers mailing list
<a class="moz-txt-link-abbreviated" href="mailto:LLVMdev@cs.uiuc.edu">LLVMdev@cs.uiuc.edu</a>         <a class="moz-txt-link-freetext" href="http://llvm.cs.uiuc.edu/">http://llvm.cs.uiuc.edu</a>
<a class="moz-txt-link-freetext" href="http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev">http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev</a>
</pre>
    </blockquote>
    <br>
  </div>

</blockquote></div><br></body></html>