[LLVMdev] AESOP autoparallelizing compiler
Rahul
rahul3527 at gmail.com
Mon Mar 11 05:59:07 PDT 2013
Hi Timothy,
Today I happened to download the code and do some experiments.
I actually wanted to see how you handle inter-procedure alias analysis.
So, I set inline threshold to zero and tried out following example
===============================================
#define N 1024
void func(double *A, double *B)
{
int i;
for (i=1; i<N-2; i++) {
B[i] = A[i] + i*3;
}
}
void func1(double *A, double *B)
{
func(A,B);
}
int main(void)
{
double data[N];
double data1[N];
double result=0;
int i;
for (i=0; i<N; i++) {
result += i*3;
data[i] = result;
}
func1(data, data1);
printf(" Data[10] = %lf\n", data[10]);
printf("Data1[10] = %lf\n", data1[10]);
return 0;
}
===============================================
I got following parallalization info after compiling:
Loop main:for.body has a loop carried scalar dependence, hence will not
be parallelized
Loop func:for.body carries no dependence, hence is being parallelized
Since A and B to function "func" are aliases it shouldn't have parallelized.
Can you please let me know how you compute dependence ??
Thanks,
Rahul
On Sun, Mar 10, 2013 at 7:28 AM, Timothy Mattausch Creech
<tcreech at umd.edu>wrote:
> On Mon, Mar 04, 2013 at 03:01:15PM +0800, 陳韋任 (Wei-Ren Chen) wrote:
> > Hi Timothy,
> >
> > > We would like to inform the community that we're releasing a version
> of our research compiler, "AESOP", developed at UMD using LLVM. AESOP is a
> distance-vector-based autoparallelizing compiler for shared-memory
> machines. The source code and some further information is available at
> > >
> > > http://aesop.ece.umd.edu
> > >
> > > The main components of the released implementation are loop memory
> dependence analysis and parallel code generation using calls to POSIX
> threads. Since we currently have only a 2-person development team, we are
> still on LLVM 3.0, and some of the code could use some cleanup. Still, we
> hope that the work will be of interest to some.
> >
> > Do you have data show us that how much parallelization the AESOP can
> > extract from those benchmarks? :)
> >
> > Regards,
> > chenwj
> >
> > --
> > Wei-Ren Chen (陳韋任)
> > Computer Systems Lab, Institute of Information Science,
> > Academia Sinica, Taiwan (R.O.C.)
> > Tel:886-2-2788-3799 #1667
> > Homepage: http://people.cs.nctu.edu.tw/~chenwj
>
> Hi Wei-Ren,
> Sorry for the slow response. We're working on a short tech report which
> will be up on the website in April. This will contain a "results" section,
> including results from the SPEC benchmarks which we can't include in the
> source distribution.
>
> Briefly, I can say that we get good speedups on some of the NAS and SPEC
> benchmarks, such as a 3.6x+ speedup on 4 cores on the serial version of NAS
> "CG" (Fortran), and "lbm" (C) from CPU2006. (These are of course among our
> best results.)
>
> -Tim
> _______________________________________________
> LLVM Developers mailing list
> LLVMdev at cs.uiuc.edu http://llvm.cs.uiuc.edu
> http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev
>
--
Regards,
Rahul Patil.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20130311/90e8df8c/attachment.html>
More information about the llvm-dev
mailing list