Ziang Hu wrote:
>
> Sorry. I think my question should be as follows:
>
> 1. With MisPro on SGI machine, LNO does tiling and interchanged the loop
> (i and j) of the code, even it doesn't need to do loop interchange.
>
> 2. With Pro64, you do loop fission, instead of tiling.
>
> Can you explain the reason?
>
> Thanks
>
> Ziang Hu
> ECE Department,
> University of Delaware
>
> On Tue, 12 Sep 2000, Peng Tu wrote:
>
> > For this C program, I don't see why it is beneficial to interchange
> > the loop because the inner loop is already stride-1 (C is row-major).
> >
> > It does need an unroll-and-jam transformation to capture the reuse
> > of the outer loop though. Maybe the LNO machine model is not up-to-date
> > with the IA64.
> >
> > A useful flag to try for C program is -OPT:alias=restrict if the array is
> > an input parameter.
> >
> > Peng.
> >
> > On Tuesday, September 12, 2000 11:07 AM, Ziang Hu
> > [SMTP:hu@xxxxxxxxxxxxxxxxxxx] wrote:
> > >
> > > Hi,
> > >
> > > I tried to test the effect of LNO with Pro64. The code is as follows:
> > >
> > > ...
> > > for (i=0; i<1000; i++)
> > > for (j=0; j<1000; j++)
> > > a[i][j] = a[i][j] + a[i-1][j];
> > > ...
> > >
> > > With -O3, no loop interchange happened.
> > >
> > > How about LNO with C programs ?
> > >
> > > Thanks
> > >
> > > Ziang
> >
Some of the transformations which were done in the MipsPro C/C++
frontends have not yet been implemented in the Pro64 C/C++ frontends.
As Ross mentioned in an earlier mail, these will be implemented
in the release later this year.
Murthy
|