gcc 4.2.4 vs llvm-2.3/llvm-gcc-4.2.1

IainS developer@sandoe-acoustics.co.uk
Thu Jun 19 22:34:00 GMT 2008


On 19 Jun 2008, at 18:02, Uros Bizjak wrote:

> Is it possible for you to profile executables and eventually figure  
> out which (missing?) optimization is responsible for huge runtime  
> difference for aermod and induct exec times? 50% and 33% difference  
> should point to a serious problem in the generated code.

This phenomenon is puzzling me...
( see also http://gcc.gnu.org/ml/fortran/2008-06/msg00194.html )

-----
It looks like benchmarks make a reasonable random number  
generator  ;-)   when comparing different back-ends:

Here is :
	Same source tree
	Both processors bootstrapped
	Same OS version (different processors, of course)
	NO processor-specific flags
	-gdwarf-2 -O2

-----
This compares the performance metrics as a ratio ; between two  
different processors.
Naively, one would expect similar ratios over a range of tests.
However, in reality there are huge differences in the ratio - and  
this is *without* any CPU optimization.

specCPU2000 ratios are approx 1:1 (INT) and 1.3:1 (FP)  .. so we  
might expect something between 1 .. 1.3

=======
gcc version 4.4.0 20080617 (experimental) (GCC)
=======

C and Fortran.

Test                PerfRatio
C
=====
c-linpk:201         1.93
c-linpk:200          1.92

cowell:Int                0.70
cowell:Double       1.14
cowell:LongLong     0.71
cowell:Trig              1.20

cloops:Average       1.36
cloops:Geometric    1.19

Fortran
=======

floops:Average      1.34
floops:Geometric    1.21

PB05
PB05:ac             0.32
PB05:aermod         0.98
PB05:air            1.14
PB05:capacita       0.96
PB05:channel        1.34
PB05:doduc          1.49
PB05:fatigue        1.07
PB05:gas_dyn        0.76
PB05:induct         1.66
PB05:linpk          1.49
PB05:mdbx           1.24
PB05:nf             0.97
PB05:protein        1.35
PB05:rnflow         1.50
PB05:test_fpu       1.17
PB05:tfft           0.65

tajima
tajima:matvec       0.94
tajima:matvecz      1.42
tajima:leqs4h       0.99
tajima:leqs1k       0.59
tajima:jacobi11     1.27
tajima:jacobi1h     1.31
tajima:runge        1.50
tajima:intgl4       0.51
tajima:mathfnc1     1.80
tajima:mathfnc2     1.23
tajima:intosc       1.07
tajima:intpi3       1.11
tajima:permute1     1.63
tajima:permute2     1.71
tajima:permute3     0.91

     Mean            1.19
     Stdev           0.37

====
Iain



More information about the Fortran mailing list