gfortran speed benchmarks
Tim Prince
tprince@myrealbox.com
Sat Nov 5 19:28:00 GMT 2005
Giovanni Bajo wrote:
> Jerry DeLisle <jvdelisle@verizon.net> wrote:
>
>
>>What do you all think? With Pauls patches.
>>
>>$ gfc -O3 -static -march=pentium4 -fmax-stack-var-size=1000000
>>-funroll-loops TEST_FPU.f90
>> total = 24.8 sec
>>
>>$ ifort -O3 TEST_FPU.f90
>> total = 24.3 sec
>
>
>
> I think that the command line stinks. What's the results just with gfc -O3?
> I don't think it's fair if we get to the performance with some
> secret --super-performance. For what I know, your secret --super-performance
> may work well for this testcase and bad for others.
With ifort, one more option would normally be used, to select
architecture target family and enable vectorization (e.g. -xB or -xW).
ifort doesn't set those parameters according to the machine on which you
compile, nor do gnu compilers, while many others do so. If it were not
for the long tradition of seldom allowing gnu Fortran different defaults
from gcc, it might make sense to make -funroll-loops a default for
Fortran; it's far from secret or obscure.
What's difficult is to pick a set of options which is most consistent on
a given test suite, for a given CPU model, between two quite different
compilers. You may well balk at attempting to figure that out, rather
than using a typical set of optimizations applicable to your CPU. It's
hardly a secret that setting -march is useful when you aren't looking
for compatibility with 10 year old CPUs, or that avoiding usage of heap
may help on benchmarks.
More information about the Fortran
mailing list