Hi Steve,

> > Can you tell how you obtained the performance numbers you are using?
> > There may be a few compiler flags you could add to reduce that ratio
> > of 1.4 to something better.
> > 
>
> Without knowing the compiler options, the results of any benchmark
> are meaningless.

I used

  gfortran -o dsyev_test_gfortran -O3 -ffast-math dsyev_test.f

as per this script (same directory as the .f file) which lists all compilation
commands (ifort, etc.):

  http://cci.lbl.gov/lapack_fem/lapack_fem_001/compile_dsyev_tests.sh

> For various versions of gfortran, I find the
> following average of 5 executions in seconds:

#           A      B      C      D      E      F      G      H
# gfc43   9.808  9.374  9.314  9.832  9.620  9.526  9.022  9.156
# gfc44   9.806  9.440  9.222  9.810  9.414  9.320  8.980  9.152
# gfc45   9.672  9.530  9.250  9.744  9.400  9.204  8.960  8.992
# gfc4x   9.814  9.358  8.622  9.810  Note1  9.172  8.958  9.022
#
# A = -march=native -O
# B = -march=native -O2
# C = -march=native -O3
# D = -march=native -O  -ffast-math
# E = -march=native -O2 -ffast-math
# F = -march=native -O  -funroll-loops
# G = -march=native -O2 -funroll-loops
# H = -march=native -O3 -funroll-loops
#
# Note 1:  STOP DLAMC1 failure (10)
#
# gfc43 --> 4.3.6 20100728 (prerelease)
# gfc44 --> 4.4.5 20100728 (prerelease)
# gfc45 --> 4.5.1 20100728 (prerelease)
# gfc4x --> 4.6.0 20100810 (experimental)

Very useful!
I'm adding a column "I" with "-O3 -ffast-math" (which I've been using 
forever...).
I'm also trying with ("fc13-n") and without ("fc13") -march=native; I'm
embarrassed to admit this option has escaped me before.
On my FC13 machine with gcc 4.4.4 (12-core Opteron 2.2GHz):

#           A      B      C      D      E      F      G      H      I
# fc13   3.309  2.755  2.462  3.234  2.787  2.956  2.366  2.381  2.296
# fc13-n 3.176  2.742  2.037  3.310  2.730  2.899  2.447  1.982  1.894

For comparison, the ifort -O time was 1.790. Which means gfortran is
only 6% slower!
My original table revised after adding -march=native:

                         absolute  relative
ifort 11.1.072            1.790s    1.00
gfortran 4.4.4            1.894s    1.06
g++ 4.4.4                 2.772s    1.55

Ralf

Reply via email to