Polyhedron b'marks | Linux vs Windows

Tim Prince n8tm@aol.com
Mon Jun 2 00:09:00 GMT 2014


On 6/1/2014 6:57 PM, Evan Cooch wrote:
> So, have a box running a new-ish, fairly high-end Intel multi-core chip
> (which one doesn't really matter here). Decided to see if the OS
> installed on the machine made much of a difference in execution time for
> programs compiled using gfortran 4.8.2. For the test suite, I used the
> familiar single-thread polyhedron benchmark suite (latest and greatest
> incarnation freshly downloaded). For compiler flags, used nothing
> particularly fancy...
>
> -ffast-math -funroll-loops -ftree-vectorize -O3
>
>
> First, took the machine, did completely fresh install of RHEL 6.5
> (64-bit). Installed gfortran 4.8.2 (since it doesn't come with RHEL),
> and ran the PB suite overnight. Then, took the exact same machine, wiped
> RHEL off it, installed fresh copy of Windows 7 Professional, SP 1
> (64-bit). Installed gfortran 4.8.2. Ran the PB suite overnight.
>
> In looking at average execution times, the differences are striking.
> Execution times for the PB suite under RHEL were 20-40% faster on
> average, than under Windows 7. This is consistent with comparing
>
> http://www.polyhedron.com/fortran-compiler-comparisons/64-bit-fortran-execution-time-benchmarks-linux64-amd-phenom-ii 
>
>
> and
>
> http://www.polyhedron.com/fortran-compiler-comparisons/fortran-execution-time-benchmarks-64-bit-windows-7-amd-phenom-ii 
>
>
> So, all things being equal, faster under Linux than under Windows.
>
> So (the question) -- why? I have a couple of ideas, but I was wondering
> if there is a short-form 'correct answer' (correct, as in, better than
> my 'couple of ideas').
>
> Thanks in advance...
Differences that large would make one suspect you didn't clean out 
competing Windows processes, or you have ridiculously small RAM, or 
something is wrong with your Windows gfortran.  To a smaller extent, 
your excessive unrolling (as you didn't set e.g. --param 
max-unroll-times=...) could hurt more on Windows.  Failing to set 
-march=native ought not to incur many differences if both are set the 
same.  If  -march=native incurs failures, gfortran 4.9 might be a fairer 
test (assuming it has corrected those failures).

-- 
Tim Prince



More information about the Fortran mailing list