Polyhedron benchmark on Opteron

François-Xavier Coudert fxcoudert@gmail.com
Fri Sep 29 14:13:00 GMT 2006


Hi all,

[spoiler: to all people wanting to lend a beginner's hand to gfortran
development, there is something for you to do at paragraph 4 of this
mail]

I wanted to report some results for the Polyhedron benchmark** on
Opteron (hardware details at the bottom of this mail). I used gfortran
mainline (4.2.0 on 2006-09-28) and Intel 9.1.037 for comparison.
Options used are :
  * gfortran -march=k8 -ffast-math -funroll-loops -static -O3
  * ifort -O3 -xW -ipo -static -V

The geometric mean execution times are 31.8 (gfortran) and 28.3
(Intel), which is a 12% difference (down from 21% in May 2006).

For most individual mail, the execution times are within 10% of each
other, with gfortran winning for 7 tests (total number of tests: 16).
Unfortunately, there are also tests for which Intel is a clear winner:
  -- aermod, by 44%
  -- air, by 30%
  -- fatigue, by 22%
  -- gas_dyn, by 115%
  -- nf, by 29%

So, there's still some progress possible here. Some people asked about
beginner projects for helping us making gfortran a better compiler: I
think profiling these cases, with gfortran and some other compilers to
see where we end up spending our time, and filing PRs so that we can
keep track of things that need to be done.

Thanks,
FX



Hardware details: I used one processor from a biprocessor Dual Core
AMD Opteron(tm) Processor 265, 1.8 GHz, with 2 Go RAM, running
Scientific Linux SL release 4.3 (Beryllium). The results reported here
are for a Standard run. Complete results can be found in the
attachements of this mail.

** Polyhedron 2005 Fortran Benchmarks, http://www.polyhedron.co.uk/
-------------- next part --------------
================================================================================
Date & Time     : 29 Sep 2006  0:03:45
Test Name       : gfortran_lin_a64
Compile Command : /utmp/coudert/gfortran/irun/bin/gfortran -march=k8 -ffast-math -funroll-loops -static -O3 %n.f90 -o %n
Benchmarks      : ac aermod air capacita channel doduc fatigue gas_dyn induct linpk mdbx nf protein rnflow test_fpu tfft
Maximum Times   :     2000.0
Target Error %  :      0.100
Minimum Repeats :    10
Maximum Repeats :   100
 
   Benchmark   Compile  Executable   Ave Run  Number   Estim
        Name    (secs)     (bytes)    (secs) Repeats   Err %
   ---------   -------  ----------   ------- -------  ------
          ac      3.22     1054063     18.10      14  0.0533
      aermod    193.51     2223235     58.61      10  0.0279
         air     10.16     1234114     19.30      11  0.0988
    capacita      2.80     1103898    108.15      19  0.1668
     channel      2.26     1111437     12.76      14  0.0978
       doduc     15.11     1247337     51.20      10  0.0148
     fatigue     15.03     1158001     18.89      10  0.0714
     gas_dyn      6.60     1130941     22.17      20  0.0994
      induct     23.38     1483757     53.02      10  0.0257
       linpk      1.13     1038408     25.97      10  0.0426
        mdbx      3.50     1143682     31.31      10  0.0331
          nf      2.28     1063596     37.39      10  0.0778
     protein     11.17     1179519     82.50      10  0.0532
      rnflow      7.90     1185380     58.41      10  0.0336
    test_fpu      5.63     1151008     24.72      10  0.0558
        tfft      0.99     1055569      9.24      15  0.0862

Geometric Mean Execution Time =      31.77 seconds

-------------- next part --------------
================================================================================
Date & Time     : 28 Sep 2006 10:28:53
Test Name       : int_90027_lin_a64
Compile Command : ifort %n.f90 -O3 -xW -ipo -static -V -o %n
Benchmarks      : ac aermod air capacita channel doduc fatigue gas_dyn induct linpk mdbx nf protein rnflow test_fpu tfft
Maximum Times   :     2000.0
Target Error %  :      0.100
Minimum Repeats :    10
Maximum Repeats :   100
 
   Benchmark   Compile  Executable   Ave Run  Number   Estim
        Name    (secs)     (bytes)    (secs) Repeats   Err %
   ---------   -------  ----------   ------- -------  ------
          ac      1.76     1067146     20.06      12  0.0619
      aermod     87.13     3162240     40.62      10  0.0903
         air      9.63     1239719     14.89      10  0.0975
    capacita      2.69     1149066    108.88      10  0.0322
     channel      2.25     1054693     13.18      14  0.0785
       doduc     12.95     1365504     54.28      10  0.0278
     fatigue      7.31     1188376     15.44      12  0.0550
     gas_dyn      4.92     1112571     10.48      38  0.0962
      induct     22.08     1488418     58.06      10  0.0276
       linpk      0.70     1013653     26.10      10  0.0615
        mdbx      2.44     1082869     27.97      10  0.0393
          nf      2.07     1056373     28.93      10  0.0566
     protein     12.57     1156054     75.46      10  0.0591
      rnflow      8.80     1219448     58.10      10  0.0276
    test_fpu      3.76     1094096     22.35      10  0.0853
        tfft      0.78     1024965      9.25      11  0.0979

Geometric Mean Execution Time =      28.31 seconds



More information about the Fortran mailing list