Windows
Fortran Execution Time Benchmarks

Updated 02/2010

32 bit Fortran Execution Time Benchmarks - Vista on AMD X2 5600

Polyhedron 2010
Benchmark
Absoft
11.0
ftn95
5.50
g95
0.92
gfortran
4.4.2
intel
11.1.051
Lahey
7.20.0
Nag
5.2
PGI
9.0-4
AC 12.62 22.78 18.46 12.10 11.13 22.78 28.28 25.77
AERMOD 34.81 41.35 50.97 37.63 22.56 34.36 50.56 27.22
AIR 15.53 31.70 17.37 14.09 13.58 19.48 17.78 15.69
CAPACITA 59.93 108.77 89.17 82.40 74.94 102.20 99.29 54.85
CHANNEL 13.92 31.28 17.81 11.31 14.12 15.40 14.50 14.60
DODUC 40.92 65.63 42.71 35.37 35.49 52.15 49.50 37.49
FATIGUE 7.33 41.56 61.18 18.99 12.69 17.05 12.60 9.58
GAS_DYN 5.52 26.55 26.79 11.66 6.21 12.52 18.02 9.18
INDUCT 30.91 104.45 37.09 33.13 64.76 79.94 64.54 28.80
LINPK 22.78 28.28 24.66 23.46 24.95 22.27 22.57 24.15
MDBX 17.82 36.29 25.53 16.78 18.47 27.40 20.35 19.08
NF 25.58 55.88 50.47 30.47 26.16 38.67 30.72 26.12
PROTEIN 44.76 106.81 72.76 52.22 46.75 79.76 71.31 52.51
RNFLOW 31.65 97.93 39.24 35.46 34.05 36.34 48.99 43.42
TEST_FPU 18.83 66.32 28.45 19.58 18.50 20.60 20.63 18.95
TFFT 7.30 8.80 7.53 6.97 7.20 7.35 7.73 7.55
Geometric Mean 19.87 44.86 32.16 22.62 21.20 28.78 28.67 22.12

Compiler Switches
Absoft

af90 -m32 -Ofast -speed_math=10 -OPT:fast_math=off:fast_exp=off -march=opteron -xINTEGER -stack:0x8000000 (downloaded acml library was required for -speed_math=10)

FTN95 ftn95 /p6 /optimise (slink was used to increase the stack size)
g95 g95 -march=opteron -ffast-math -funroll-loops -O3
gfortran gfortran -march=native -funroll-loops -ffast-math
Intel ifort /O3 /Qipo /QxHost /no_prec_div /link /stack:64000000
Lahey lf95 -inline (35) -o1 -sse2 -nstchk -tp4 -ntrace -unroll (6) -zfm
NAG f95 -O4 -V -ieee=full
PGI pgf90 -V -fastsse -Munroll=n:4 -Mipa=fast,inline

Fortran Execution Time Benchmarks - 64 bit Windows 7 on Intel Core i7 920

Polyhedron 2010
Benchmark
Absoft
11.0
ftn95
5.50
g95
0.92
gfortran
4.4.2
intel
11.1.051
Lahey
7.20.0
Nag
5.2
PGI
9.0-4
AC 8.27 15.69 17.16 9.24 10.94 16.55 20.26 10.47
AERMOD 16.40 34.19 42.31 64.50 15.56 23.28 37.10 16.31
AIR 5.63 9.37 9.42 6.10 5.26 7.67 7.16 5.98
CAPACITA 29.75 65.76 46.08 32.90 30.39 47.72 50.20 32.58
CHANNEL 3.20 5.51 9.34 1.77 2.26 4.15 3.08 2.33
DODUC 28.38 46.05 35.07 48.18 26.51 30.83 39.82 26.75
FATIGUE 4.72 18.26 45.08 8.30 7.58 12.95 10.60 6.66
GAS_DYN 2.40 25.69 26.85 7.83 3.17 10.35 19.88 4.15
INDUCT 32.76 79.62 36.96 16.10 28.04 68.94 41.90 28.79
LINPK 7.67 8.38 9.50 8.00 8.25 7.59 8.74 7.74
MDBX 13.15 20.79 15.14 13.38 12.39 14.78 13.87 13.14
NF 12.34 24.57 25.66 17.33 10.69 19.33 17.30 11.43
PROTEIN 30.36 54.52 52.40 35.38 30.71 55.26 45.96 36.47
RNFLOW 20.30 30.87 31.09 21.15 23.85 24.05 35.96 26.17
TEST_FPU 8.25 16.28 16.62 7.60 5.97 10.34 10.95 6.62
TFFT 2.23 3.17 2.73 2.22 2.21 2.39 2.63 2.30
Geometric Mean 10.05 20.73 20.83 12.23 10.09 15.57 16.47 10.66

 

Compiler Switches
Absoft

af90 -m64 -O4 -speed_math=10 -march=core -xINTEGER -stack:0x8000000

FTN95 ftn95 /p6 /optimize (slink was used to increase the stack size)
g95 g95 -march=nocona -ffast-math -funroll-loops -O3
gfortran gfortran -O3 -march=native -funroll-loops -ffast-math
Intel ifort /O3 /Qipo /QxHost /Qprec-div- /link /stack:64000000
Lahey lf95 -inline (35) -o1 -sse2 -nstchk -tp4 -ntrace -unroll (6) -zfm
NAG f95 -O4 -V
PGI pgf90 -V -fastsse -Munroll=n:4 -Mipa=fast,inline
 
Notes  
 

All figures are Execution Times in Seconds - 32-bit tests measured on an Dell Studio XPS computer with a Core i7 920 2.66GHz processor, and 9 GBytes 1066 MHz DDR3 Memory and running Windows 7 Ultimate. Each figure is the average over at least 10 runs (many more for some). Measurement error is typically <1%. Green cells highlight figures within 10% of the fastest. Red cells indicate figures which are more than 150% of the fastest.

64-bit tests measured on a Dell Dimension E521 with an AMD X2 processor 5600 (2.8 GHz), with 4 x 1024MB 533MHz DDR2 Memory, running Windows Vista Business. Each figure is the average over at least 10 runs (many more for some). Measurement error is typically <1%. Green cells highlight figures within 10% of the fastest. Red cells indicate figures which are more than 150% of the fastest.

So far as possible, we have used the compiler switches which give the best overall results. We have not attempted to tune individual benchmarks, and, in particular cases, different switch settings may give better results. We have created and used 64 bit executables where possible, and 32 bit executables where the compiler does not offer a 64 bit option.

Thanks are due to Jos Bergervoet for permission to use his CAPACITA benchmark, to Quetzal Associates for permission to use their CHANNEL, FATIGUE, GAS_DYN, INDUCT, PROTEIN and RNFLOW benchmarks, to David Frank for his TEST_FPU benchmark, and to Ted Addison of McVehil-Monnett Associates for permission to use AERMOD, an air quality model used by the US Environmental Protection Agency.

All the benchmarks have been modified slightly to fit into our benchmarking harness.

The NF benchmark uses "nested factorization", a little known but very effective iterative linear solver for huge finite difference matrices. A paper describing nested factorization, and comparing it to other methods is available here.

The benchmarks were also used to compare Linux compilers on the same machine, and to compare Windows compilers on an AMD/Vista machine.

This Benchmark comparison was produced by Polyhedron Ltd. and this page is reproduced with permission from Polyhedron Ltd.