Fax: +44(0)1865 300 232

Programs for Programmers

Fortran Execution Time Benchmarks - 64-bit Scientific Linux on Intel Core i5 2500k

  Absoft
13.0.0
G95
0.93
GFortran
4.7.2
Intel(AP)
14.0
Intel
14.0
Lahey
8.10b
PGI
13.7
Sun
8.6
AC 4.42 9.60 5.92 5.03 4.80 8.00 5.97 21.99
AERMOD 11.26 25.99 18.99 11.62 10.59 11.27 10.56 10.30
AIR 1.37 5.95 3.10 1.01 2.28 2.71 2.86 2.51
CAPACITA 17.90 26.83 17.96 17.61 16.21 19.94 14.62 21.56
CHANNEL2 84.53 272.72 84.26 85.77 83.96 122.19 103.49 84.83
DODUC 18.66 24.05 17.51 13.67 13.70 17.45 15.97 14.15
FATIGUE2 95.21 374.38 101.73 52.50 52.37 110.88 80.23 75.28
GAS_DYN2 73.18 320.04 86.71 60.16 63.68 107.03 77.73 84.39
INDUCT2 28.08 147.53 66.57 26.85 63.49 93.29 113.20 125.91
LINPK 5.52 6.21 5.77 5.03 4.84 5.67 5.49 5.11
MDBX 6.86 8.68 7.32 3.61 5.74 7.85 8.04 7.41
MP_PROP_DESIGN 23.90 419.95 103.67 19.01 55.54 126.05 78.71 161.97
NF 7.78 13.40 7.79 7.21 7.02 10.36 7.59 8.16
PROTEIN 19.28 27.43 20.33 18.21 18.33 35.68 20.82 20.44
RNFLOW 10.89 25.90 15.47 9.59 11.23 14.58 15.07 15.72
TEST_FPU2 42.95 103.38 42.94 34.69 42.26 61.17 41.28 57.41
TFFT2 53.47 60.04 54.16 53.49 52.54 55.74 53.73 55.07
 
Geometric Mean 17.44 43.13 22.94 14.85 18.04 26.07 21.79 25.04

Compiler Switches
Absoft af90 -m64 -mavx -O5 -speed_math=10 -march=core -xINTEGER (These settings enable auto-parallelization, see below)
G95 g95 -march=nocona -ffast-math -funroll-loops -O3
GFortran gfortran -march=native -ffast-math -funroll-loops -O3
Intel(AP) ifort -O3 -fast -parallel -ipo (These settings enable auto-parallelization, see below)
Intel ifort -O3 -fast -ipo
Lahey lf95 --fast -static -x -
PGI pgf95 -V -fast -Mipa=fast,inline -Msmartalloc -Mfprelaxed -Mstack_arrays
Sun

sunf95 -fast -xtarget=nehalem -xipo=2 -m64 -xvector=simd

  

Notes
All figures are Execution Times in Seconds - measured on a machine with a Core i5 2500k 3.30GHz processor, running at stock speed, with 16 GBytes memory, and running 64-bit Scientific Linux 6 (a near-clone of Red Hat Enterprise Linux 6). 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.

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, 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

AMD/Windows

AMD/Linux

 

 Download Polyhedron Benchmarks