Polyhedron 2005 Benchmarks

Dominique Dhumieres dominiq@lps.ens.fr
Fri Nov 18 15:37:00 GMT 2005


> Shouldn't -ftree-loop-linear perform the loop interchange here?

[karma] lin/source% gfortran -O3 -ffast-math -funroll-loops air.f90
[karma] lin/source% time a.out > tmp
44.720u 0.580s 0:47.92 94.5%    0+0k 0+12io 0pf+0w
[karma] lin/source% gfortran -O3 -ftree-loop-linear -ffast-math -funroll-loops air.f90
[karma] lin/source% time a.out > tmp
31.010u 0.590s 0:35.14 89.9%    0+0k 0+10io 0pf+0w

At least a visible effect. Now the surprising part is with a variant in which I have
done half a dozen permutations manually:

[karma] lin/source% gfortran -O3 -ffast-math -funroll-loops air.v1.f90
[karma] lin/source% time a.out > tmp
24.690u 0.370s 0:26.93 93.0%    0+0k 0+9io 0pf+0w
[karma] lin/source% gfortran -O3 -ftree-loop-linear -ffast-math -funroll-loops air.v1.f90
[karma] lin/source% time a.out > tmp
17.380u 0.350s 0:18.95 93.5%    0+0k 0+12io 0pf+0w

> I'd be curious to know if it decides not to, and why.
> -fdump-tree-ltrans-all

added to gfortran -O3 -ftree-loop-linear -ffast-math -funroll-loops air.v1.f90
it produces a 6369030 long file air.v1.f90.t75.ltrans. If someone is interested
I can do it for the othercases and put the results in my web pages.

Dominique



More information about the Fortran mailing list