Fax: +44(0)1865 300 232

Programs for Programmers

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

  Absoft
11.1
FTN95
6.00
G95
0.93
GFortran
4.5.2
Intel
12.0
Lahey
7.20.0
NAG
5.2
PGI
11.1
AC 7.39 15.68 15.81 9.10 10.78 16.55 20.26 10.47
AERMOD 16.17 34.16 41.36 33.09 14.81 23.28 37.10 15.88
AIR 2.44 9.44 8.58 5.83 2.85 7.67 7.16 5.76
CAPACITA 29.55 66.11 43.19 31.80 28.60 47.72 50.20 30.37
CHANNEL 2.51 5.51 12.54 1.85 1.67 4.15 3.08 2.33
DODUC 28.57 46.21 35.35 34.49 31.16 30.83 39.82 26.74
FATIGUE 5.12 18.19 46.94 8.09 12.67 12.95 10.60 7.44
GAS_DYN 1.83 25.67 26.72 9.56 3.62 10.35 19.88 3.50
INDUCT 9.98 79.53 34.86 17.24 8.69 68.94 41.90 28.13
LINPK 8.32 8.46 8.99 8.03 8.22 7.59 8.74 7.74
MDBX 11.05 20.78 12.72 13.42 10.75 14.78 13.87 13.09
NF 12.35 24.29 25.62 15.22 10.62 19.33 17.30 11.58
PROTEIN 30.96 54.16 51.31 34.31 30.76 55.26 45.96 36.48
RNFLOW 16.33 30.80 29.19 23.75 19.24 24.05 35.96 25.10
TEST_FPU 8.54 16.28 20.49 7.96 5.66 10.34 10.95 6.46
TFFT 2.31 3.16 2.52 2.24 2.18 2.39 2.63 2.30
 
Geometric Mean 8.43 20.72 20.62 11.64 9.00 15.57 16.47 10.48

Compiler Switches
Absoft af90 -m64 -O5 -speed_math=10 -fast_math -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 /Qparallel /link /stack:64000000
Lahey lf95 -inline (35) -o1 -sse2 -nstchk -tp4 -ntrace -unroll (6) -zfm
NAG nagfor -O4 -Bstatic -ieee=full
PGI pgf95 -V -fastsse -Munroll=n:4 -Mipa=fast,inline

 

  

Notes
All figures are Execution Times in Seconds - measured on a Dell Studio XPS with a Core i7 920 2.66GHz processor, and 9 GBytes 1033MHz DDR3 memory, and running Windows 7 64-bit. 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.  For all except LF95, compiler switches were set to generate 64 bit executables.

The settings used for the Intel and Absoft compilers enable autoparallelization.  Autoparallelization settings are not used on any other compilers because we found that they produced no significant performance benefits on this benchmark set.

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.

 

Other benchmark sets:

Intel/Windows (Sandy Bridge)

Intel/Linux

AMD/Windows

AMD/Linux

 

 Download Polyhedron Benchmarks