testcases for outloop vectorization support

Dorit Nuzman DORIT@il.ibm.com
Mon Aug 13 17:50:00 GMT 2007


> Hi,
>
> Jack Howarth wrote:
> > I have been building gcc trunk with Dorit's patches
> > for adding outerloop vectorization support.
> Thanks to Dorit.
>
> > The current proposed patches apply cleanly to gcc trunk.
> > http://gcc.gnu.org/ml/gcc-patches/2007-08/msg00780.html
> > http://gcc.gnu.org/ml/gcc-patches/2007-08/msg00781.html

this patch:
> > http://gcc.gnu.org/ml/gcc-patches/2007-08/msg00779.html
is for autovect-branch (*not* for trunk. this is why you get the failure
with ChangeLog.autovect when applying the patch).

> > http://gcc.gnu.org/ml/gcc-patches/2007-08/msg00743.html
> >
>
> I got two failures: One with a test case and one with ChangeLog.autovect
> which does not exist on the trunk.
>
> > I would think we might be seeing some interesting
> > performance improvements in the polyhedron benchmarks
> > with these patches applied.
> >

I actually wouldn't expect much improvement yet, as this initial version
still has quite a few limitations. But if there are loops that you expect
to get vectorized that do not, I'd be happy to take a look.

thanks,
dorit

> Result on AMD Athlon64 4800+ x86-84 openSUSE Linux Factory with:
> gfortran -march=opteron -ffast-math -funroll-loops -ftree-loop-linear
> -ftree-vectorize -msse3 -O3
>
> I see mainly noise - or even decrease of the performance.
>
> (w/o patch: average over at 5 to 10 runs without the first run; w/
> patch: single run)
>
> Patch:    w/o   w
> ---------------------
> ac       13.89  13.89
> aermod   38.46  39.38
> air      14.02  14.11
> capacita 85.08  85.12
> channel  12.70  12.61
> dodoc    43.77  43.96
> fatigue  12.27  13.03
> gas_dyn  12.18  12.02
> induct   50.59  49.63
> linpk    25.93  25.94
> mdbx     24.16  24.17
> nf       29.55  29.57
> protein  64.99  65.11
> rnflow   36.06  36.30
> test_fpu 19.43  19.32
> tfft      7.83   7.84
> ---------------------
>
>
> Tobias
>



More information about the Fortran mailing list