This is the mail archive of the fortran@gcc.gnu.org mailing list for the GNU Fortran project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: gfortran speed benchmarks


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.



Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]