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