Tel: +44(0)1865 300 579
Fax: +44(0)1865 300 232

Programs for Programmers

64 bit Fortran Execution Time Benchmarks - Linux64 on Intel XEON 5310

  Absoft
10.0.7
g95
0.91
gfortran
4.3.1
intel
10.1.008
Lahey
8.00a
Nag
5.1
PathScale
3.1
pgi
7.1-6
Sun
8.3
AC 12.24 27.34 16.86 19.52 22.46 37.80 11.83 17.93 58.88
AERMOD 43.89 76.98 62.71 32.79 37.45 57.40 57.34 34.98 56.22
AIR 13.68 16.24 12.77 9.71 9.25 13.26 11.06 12.61 10.55
CAPACITA 60.49 88.97 69.36 64.57 78.91 70.30 63.76 71.72 74.57
CHANNEL 6.93 28.46 3.56 4.49 5.94 5.69 5.84 3.23 3.70
DODUC 65.53 70.00 61.24 50.46 58.44 73.75 56.02 58.89 63.07
FATIGUE 10.56 52.64 14.91 12.80 18.50 27.36 9.08 12.48 14.36
GAS_DYN 5.78 33.54 10.62 5.23 14.42 25.21 8.11 44.43 22.20
INDUCT 90.51 97.48 83.26 83.47 91.56 95.48 81.85 81.90 93.39
LINPK 25.98 26.84 25.85 26.89 26.56 25.59 25.53 25.87 25.62
MDBX 27.59 24.70 25.46 21.10 21.63 23.75 23.68 23.01 21.69
NF 29.54 55.70 34.12 27.80 40.69 35.06 26.78 30.73 32.92
PROTEIN 57.66 88.17 66.87 57.00 90.66 62.55 60.71 68.07 74.11
RNFLOW 41.86 77.09 38.94 55.56 43.32 49.17 40.01 47.30 42.17
TEST_FPU 17.10 40.75 16.24 14.50 16.75 17.88 15.81 15.56 16.18
TFFT 3.90 4.43 3.89 3.76 3.79 4.00 3.74 3.87 3.71
 
Geometric Mean 22.32 40.24 23.71 20.96 25.42 29.08 21.57 24.55 26.58

 

Compiler Switches
Absoft

af95 -m64 -Ofast -speed_math=9 -WOPT:if_conv=off -LNO:fu=9:full_unroll_size=7000 -march=em64t -TARG:sse3=on -xINTEGER

g95 g95 -march=nocona -ffast-math -funroll-loops -O3
gfortran gfortran -march=native -ffast-math -funroll-loops -O3
Intel ifort -O3 -xT -ipo -no-prec-div
Lahey lf64  --fast -static
NAG f95 -O4 -mismatch_all -ieee=full -Bstatic
Pathscale pathf95 -march=core -Ofast -LNO:fu=9:full_unroll_size=7000:prefetch=1
PGI pgf90 -Bstatic -V -fastsse -Munroll=n:4 -Mipa=fast,inline -tp core2-64
Sun sunf95 -native -O4 -xipo -libmil

  

Notes
All figures are Execution Times in Seconds - measured on an HP Proliant ML150 G3 with two Xeon 5310 quad core 1.6 GHz processors, and 5 GBytes 667MHz FB-DIMM, and running Centos 5.1 Linux. 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.

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.

These benchmarks were also used to compare Win32 compilers on the same machine and on an AMD/Vista machine.

Download Polyhedron Benchmarks