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