This is the mail archive of the
fortran@gcc.gnu.org
mailing list for the GNU Fortran project.
Re: gcc 4.2.4 vs llvm-2.3/llvm-gcc-4.2.1
- From: IainS <developer at sandoe-acoustics dot co dot uk>
- To: Uros Bizjak <ubizjak at gmail dot com>
- Cc: Fortran List <fortran at gcc dot gnu dot org>
- Date: Thu, 19 Jun 2008 23:34:07 +0100
- Subject: Re: gcc 4.2.4 vs llvm-2.3/llvm-gcc-4.2.1
- References: <485A913A.3020405@gmail.com>
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