[LLVMdev] Polyhedron 2005 results for dragonegg 3.3svn
Jack Howarth
howarth at bromo.med.uc.edu
Sat Jun 1 16:13:44 PDT 2013
On Sat, Jun 01, 2013 at 06:45:48AM +0200, Duncan Sands wrote:
>
> These results are very disappointing, I was hoping to see a big improvement
> somewhere instead of no real improvement anywhere (except for gas_dyn) or a
> regression (eg: mdbx). I think LLVM now has a reasonable array of fast-math
> optimizations. I will try to find time to poke at gas_dyn and induct: since
> turning on gcc's optimizations there halve the run-time, LLVM's IR optimizers
> are clearly missing something important.
>
> Ciao, Duncan.
>
Duncan,
In case it helps, I benchmarked disabling individual -ffast-math optimizations (with partial results
appended). The most important optimization to the benchmark runtimes seems to be -funsafe-math-optimizations
(as can be seen from the runtime regression caused by -fno-unsafe-math-optimizations). Does llvm currently
support all of the features of FSF gcc's -funsafe-math-optimizations?
Jack
Tested on x86_apple-darwin12
Compile Flags: -ffast-math -funroll-loops -O3 -fno-tree-vectorize
de-gfc48: /sw/lib/gcc4.8/bin/gfortran -fplugin=/sw/lib/gcc4.8/lib/dragonegg.so -specs=/sw/lib/gcc4.8/lib/integrated-as.specs
de-gfc48+optzns: /sw/lib/gcc4.8/bin/gfortran -fplugin=/sw/lib/gcc4.8/lib/dragonegg.so -specs=/sw/lib/gcc4.8/lib/integrated-as.spec
s -fplugin-arg-dragonegg-enable-gcc-optzns
gfortran48: /sw/bin/gfortran-fsf-4.8
de-gfc48+nounsafe+optzns:/sw/lib/gcc4.8/bin/gfortran -fplugin=/sw/lib/gcc4.8/lib/dragonegg.so -specs=/sw/lib/gcc4.8/lib/integrated
-as.specs -fplugin-arg-dragonegg-enable-gcc-optzns -fno-unsafe-math-optimzations
de-gfc48+math-errno+optzns: /sw/lib/gcc4.8/bin/gfortran -fplugin=/sw/lib/gcc4.8/lib/dragonegg.so -specs=/sw/lib/gcc4.8/lib/integra
ted-as.specs -fplugin-arg-dragonegg-enable-gcc-optzns -fmath-errno
de-gfc48+math-signans+optzns: /sw/lib/gcc4.8/bin/gfortran -fplugin=/sw/lib/gcc4.8/lib/dragonegg.so -specs=/sw/lib/gcc4.8/lib/integ
rated-as.specs -fplugin-arg-dragonegg-enable-gcc-optzns -fsignaling-nans
Run time (secs)
Benchmark de-gfc48 de-gfc48 gfortran48 de-gfc48+nounsafe de-gfc48+math-errno de-gfc48+math-signans
+optzns +optzns +optzns +optzns
ac 11.33 8.10 8.02 9.20 8.10 8.10
aermod 16.03 14.45 16.13 14.83 14.20 14.51
air 6.80 5.28 5.73 6.84 5.26 5.31
capacita 39.89 35.21 34.96 36.72 35.21 35.51
channel 2.06 2.29 2.69 2.30 2.29 2.30
doduc 27.35 26.13 25.74 29.90 26.42 26.99
fatigue 8.83 4.82 4.67 5.60 4.87 4.82
gas_dyn 11.41 9.79 9.60 12.97 10.56 12.13
induct 23.95 21.75 21.14 22.34 21.39 21.91
linpk 15.49 15.48 15.69 15.49 15.49 15.52
mdbx 11.91 11.28 11.39 11.85 11.27 11.83
nf 29.92 29.57 27.99 29.67 29.67 29.47
protein 36.34 33.94 31.91 34.23 33.62 33.97
rnflow 25.97 25.27 22.78 27.99 28.00 28.00
test_fpu 11.48 10.91 9.64 10.95 10.94 10.93
tfft 1.92 1.91 1.91 1.91 1.90 1.91
Geom. Mean 13.12 11.70 11.64 12.62 11.82 12.01
More information about the llvm-dev
mailing list