Hello, I found some code within the pool allocation project to identify parallelizable function calls. Unfortunately the functionality isn't part of the current release of poolalloc (in release 14 it was). My intention is to estimate the parallelization-potential of sequential applications concerning coarse-grained parallelism. Can you tell me... 1. Why are classes of pollalloc, like the one for creating a Program Dependence Graph (DPG), not supported anymore? 2. Do you know any other existing tools or practices to identify parallelizable function calls? Thanks in advance Andreas -------------- next part -------------- An HTML attachment was scrubbed... URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20110419/752a5194/attachment.html>
On 4/19/11 5:57 AM, Andreas Wilhelm wrote:> Hello, > > I found some code within the pool allocation project to identify > parallelizable function calls. > Unfortunately the functionality isn't part of the current release of > poolalloc (in release 14 it was).Can you tell me in what file(s) this is implemented? I wasn't aware that the poolalloc project had such an analysis.> > My intention is to estimate the parallelization-potential of > sequential applications concerning coarse-grained parallelism. > Can you tell me... > > 1. Why are classes of pollalloc, like the one for creating a Program > Dependence Graph (DPG), not supported anymore?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. If you'd like to try to get it working again, we'd welcome patches for mainline poolalloc.> 2. Do you know any other existing tools or practices to identify > parallelizable function calls?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 (http://www.cs.ucsb.edu/~benh/downloads.html) may be useful, too. -- John T.> > Thanks in advance > > Andreas > > > _______________________________________________ > LLVM Developers mailing list > LLVMdev at cs.uiuc.edu http://llvm.cs.uiuc.edu > http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev-------------- next part -------------- An HTML attachment was scrubbed... URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20110419/79a11c4a/attachment.html>
Am 19.04.2011 um 16:44 schrieb John Criswell:> On 4/19/11 5:57 AM, Andreas Wilhelm wrote: >> >> Hello, >> >> I found some code within the pool allocation project to identify parallelizable function calls. >> Unfortunately the functionality isn't part of the current release of poolalloc (in release 14 it was). > > Can you tell me in what file(s) this is implemented? I wasn't aware that the poolalloc project had such an analysis.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?> >> >> My intention is to estimate the parallelization-potential of sequential applications concerning coarse-grained parallelism. >> Can you tell me... >> >> 1. Why are classes of pollalloc, like the one for creating a Program Dependence Graph (DPG), not supported anymore? > > 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. > > If you'd like to try to get it working again, we'd welcome patches for mainline poolalloc. > >> 2. Do you know any other existing tools or practices to identify parallelizable function calls? > > 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 (http://www.cs.ucsb.edu/~benh/downloads.html) may be useful, too. >Thank you, I will look through your recommendations. Andreas> -- John T. > >> >> Thanks in advance >> >> Andreas >> >> _______________________________________________ >> LLVM Developers mailing list >> LLVMdev at cs.uiuc.edu http://llvm.cs.uiuc.edu >> http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev >-------------- next part -------------- An HTML attachment was scrubbed... URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20110420/e86acae5/attachment.html>