Programs for Programmers

Fortran Execution Time Benchmarks - 64-bit Windows 7 on AMD Phenom II

  Absoft(AP)
11.1.3
Absoft
11.1.3
FTN95
6.30
G95
0.93
Intel(AP)
14.0
Intel
14.0
Lahey-GNU
Shasta-4.7.3
Lahey
7.30
PGI
13.7
AC 8.57 8.96 15.77 14.85 9.61 9.66 8.42 18.02 8.63
AERMOD 20.44 19.99 32.34 40.67 19.64 19.85 28.69 26.52 18.17
AIR 3.06 5.94 11.58 9.34 2.55 4.87 7.49 9.73 7.28
CAPACITA 33.70 36.98 64.96 57.47 36.97 37.30 44.03 63.52 32.26
CHANNEL2 168.14 147.55 363.73 549.51 112.41 146.15 146.35 242.77 182.64
DODUC 33.98 30.47 48.89 34.60 24.68 24.38 30.00 37.21 27.04
FATIGUE2 112.66 83.10 411.84 1008.96 64.23 63.62 80.40 261.42 176.48
GAS_DYN2 88.93 102.21 565.30 723.25 116.61 120.84 218.71 277.85 134.23
INDUCT2 79.84 104.53 601.84 232.38 44.95 109.45 92.26 480.12 173.22
LINPK 10.60 9.42 10.63 10.67 9.73 9.69 9.98 10.19 10.23
MDBX 12.30 12.76 24.09 20.43 11.00 10.89 12.43 19.48 14.87
MP_PROP_DESIGN 104.26 327.62 695.81 156.29 32.03 107.70 274.79 335.77 137.34
NF 15.93 18.20 28.17 32.47 13.87 13.69 14.22 24.56 14.10
PROTEIN 31.73 31.44 55.35 57.48 31.44 31.04 32.15 58.74 35.36
RNFLOW 15.88 18.47 35.88 32.62 19.74 19.06 26.37 28.79 24.03
TEST_FPU2 117.57 97.55 192.93 174.28 79.41 85.41 86.37 129.74 92.08
TFFT2 132.79 140.62 167.78 137.03 136.38 135.71 131.99 135.20 136.74
 
Geometric Mean 34.52 38.50 81.49 73.37 28.47 34.05 41.04 63.57 40.75

 

Compiler Switches
Absoft (autoparallel) af90 -m64 -O5 -speed_math=10 -fast_math -march=barcelona -xINTEGER -stack:0x80000000
Absoft af90 -m64 -O4 -speed_math=10 -fast_math -march=barcelona -xINTEGER -stack:0x80000000
FTN95 ftn95 /p6 /optimize (slink was used to increase the stack size)
G95 g95 -march=opteron -funroll-loops -O3
Intel (autoparallel) ifort /fast /Qparallel /link /stack:64000000
Intel ifort /fast /link /stack:64000000
Lahey-GNU lgf -64 -ofast -unroll -wpo -t native -stack 64000000
Lahey lf95 -inline (35) -o1 -sse2 -nstchk -tp4 -ntrace -unroll (6) -zfm
PGI pgf90 -V -fastsse -Munroll=n:4 -Mipa=fast,inline

  

Notes
All figures are Execution Times in Seconds - measured on a machine with an AMD Phenom II X4 955 processor (3.2 GHz), with 4GBytes memory, 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. We have created and used 64 bit executables where possible, and 32 bit executables where the compiler does not offer a 64 bit option.

The settings used for the Absoft and Intel 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, to Anthony Falzone for the use of MP_PROP_DESIGN, 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)

AMD/Linux

Intel/Linux


 Download Polyhedron Benchmarks