This is the mail archive of the gcc@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: Autovectorized HIRLAM - latest results.


> In August, I wrote the following about vectorized / not vectorized loops
> in HIRLAM
> (see http://hirlam.org):
>
> > $ grep 'LOOP VECTORIZED' HL_Prepare_00.html  | wc -l
> > 3273
> > $ grep 'not vectorized' HL_Prepare_00.html  | wc -l
> > 7845
>
> Yesterday, I performed a test with gcc-trunk-129472 (which is a week
> old, by now):
>
> $ grep 'LOOP VECTORIZED' HL_Prepare_00.html | wc -l
> 5316
> $ grep 'not vectorized' HL_Prepare_00.html | wc -l
> 6060
>

I wonder if it's versioning-for-aliasing (run-time dependence testing) that
was responsible for a lot of the new vectorizable loops

> This was simply using -O3 -ffast-math on the code.  Apparently a lot of
> progress has been made (and perhaps the combination of loop
> optimizations enabled by -O3 over -O2 play a role, too):
>

by the way, some of these optimizations, like predictive-commoning, can
also prevent vectorization. we were going to move predcom to after
vectorization - yet to be done

> $ gcc -c -Q -O3 --help=optimizers > /tmp/O3-opts
> $ gcc -c -Q -O2 --help=optimizers > /tmp/O2-opts
> $ diff /tmp/O2-opts /tmp/O3-opts | grep enabled
>  >   -fgcse-after-reload                         [enabled]
>  >   -finline-functions                          [enabled]
>  >   -fpredictive-commoning                      [enabled]
>  >   -ftree-vectorize                            [enabled]
>  >   -funswitch-loops                            [enabled]
>
> The timing difference is as follows:
>

much thanks for the update!

dorit

> -O3 -ffast-math:
>
> $ grep 'FORECAST TOOK' HL_Cycle*
> HL_Cycle_2006120100.html: FORECAST TOOK     6.2284 SECONDS
> HL_Cycle_2006120100.html: FORECAST TOOK  2430.0159 SECONDS
> HL_Cycle_2006120106.html: FORECAST TOOK   258.1721 SECONDS
> HL_Cycle_2006120106.html: FORECAST TOOK     6.1164 SECONDS
> HL_Cycle_2006120106.html: FORECAST TOOK   304.9590 SECONDS
> HL_Cycle_2006120112.html: FORECAST TOOK   259.7802 SECONDS
> HL_Cycle_2006120112.html: FORECAST TOOK     6.1524 SECONDS
> HL_Cycle_2006120112.html: FORECAST TOOK  2303.5320 SECONDS
> HL_Cycle_2006120112r.html: FORECAST TOOK   417.3861 SECONDS
> HL_Cycle_2006120118.html: FORECAST TOOK   259.9763 SECONDS
> HL_Cycle_2006120118.html: FORECAST TOOK     6.0764 SECONDS
> HL_Cycle_2006120118.html: FORECAST TOOK   306.5071 SECONDS
> HL_Cycle_2006120200.html: FORECAST TOOK   259.9482 SECONDS
> HL_Cycle_2006120200.html: FORECAST TOOK     6.1564 SECONDS
> HL_Cycle_2006120200.html: FORECAST TOOK  2300.3560 SECONDS
> HL_Cycle_2006120200r.html: FORECAST TOOK   414.8299 SECONDS
>
> -O2 -ffast-math:
>
> $ grep 'FORECAST TOOK' HL_Cycle*
> HL_Cycle_2006120100.html: FORECAST TOOK     6.3244 SECONDS
> HL_Cycle_2006120100.html: FORECAST TOOK  2510.3809 SECONDS
> HL_Cycle_2006120106.html: FORECAST TOOK   268.3368 SECONDS
> HL_Cycle_2006120106.html: FORECAST TOOK     6.2484 SECONDS
> HL_Cycle_2006120106.html: FORECAST TOOK   316.4918 SECONDS
> HL_Cycle_2006120112.html: FORECAST TOOK   268.1648 SECONDS
> HL_Cycle_2006120112.html: FORECAST TOOK     6.2724 SECONDS
> HL_Cycle_2006120112.html: FORECAST TOOK  2377.2166 SECONDS
> HL_Cycle_2006120112r.html: FORECAST TOOK   432.7510 SECONDS
> HL_Cycle_2006120118.html: FORECAST TOOK   270.2049 SECONDS
> HL_Cycle_2006120118.html: FORECAST TOOK     6.2244 SECONDS
> HL_Cycle_2006120118.html: FORECAST TOOK   316.9878 SECONDS
> HL_Cycle_2006120200.html: FORECAST TOOK   268.7688 SECONDS
> HL_Cycle_2006120200.html: FORECAST TOOK     6.2924 SECONDS
> HL_Cycle_2006120200.html: FORECAST TOOK  2371.8962 SECONDS
> HL_Cycle_2006120200r.html: FORECAST TOOK   432.6790 SECONDS
>
> Roughly 3.3 %.
>
> Kind regards,
>
> --
> Toon Moene - e-mail: toon@moene.indiv.nluug.nl - phone: +31 346 214290
> Saturnushof 14, 3738 XG  Maartensdijk, The Netherlands
> At home: http://moene.indiv.nluug.nl/~toon/
> GNU Fortran's path to Fortran 2003: http://gcc.gnu.org/wiki/Fortran2003


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]