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: Implement stack arrays even for unknown sizes


With the new patch (+the fix for the uninitialized tmp), the polyhedron
tests pass:

================================================================================
Date & Time     : 11 Apr 2011 21:20:59
Test Name       : pbharness
Compile Command : gfc %n.f90 -Ofast -funroll-loops -ftree-loop-linear -fomit-frame-pointer -finline-limit=600 -fwhole-program -flto -fstack-arrays -o %n
Benchmarks      : ac aermod air capacita channel doduc fatigue gas_dyn induct linpk mdbx nf protein rnflow test_fpu tfft
Maximum Times   :      300.0
Target Error %  :      0.200
Minimum Repeats :     2
Maximum Repeats :     5

   Benchmark   Compile  Executable   Ave Run  Number   Estim
        Name    (secs)     (bytes)    (secs) Repeats   Err %
   ---------   -------  ----------   ------- -------  ------
          ac      8.10       54576      8.16       2  0.0000
      aermod    172.91     1468672     18.58       2  0.1884
         air     25.79       89992      6.81       5  0.1852
    capacita     15.01      101384     40.50       2  0.0012
     channel      3.43       34448      2.98       5  0.2042
       doduc     27.18      212280     27.25       2  0.0220
     fatigue      9.87       85264      7.07       2  0.0636
     gas_dyn     23.07      135944      4.72       2  0.0636
      induct     23.90      185600     14.24       2  0.1194
       linpk      2.54       21536     21.74       2  0.0207
        mdbx      9.11       84776     12.51       2  0.0080
          nf     15.29       87848     19.06       2  0.1862
     protein     28.07      155624     35.40       2  0.0268
      rnflow     38.21      183696     26.76       2  0.0374
    test_fpu     19.94      141720     10.87       2  0.0598
        tfft      1.70       22072      3.29       2  0.0759

Geometric Mean Execution Time =      12.33 seconds

================================================================================
Polyhedron Benchmark Validator
Copyright (C) Polyhedron Software Ltd - 2004 - All rights reserved

For comparison the results without -fstack-arrays are

================================================================================
Date & Time     : 11 Apr 2011 21:59:38
Test Name       : pbharness
Compile Command : gfc %n.f90 -Ofast -funroll-loops -ftree-loop-linear -fomit-frame-pointer -finline-limit=600 -fwhole-program -flto -o %n
Benchmarks      : ac aermod air capacita channel doduc fatigue gas_dyn induct linpk mdbx nf protein rnflow test_fpu tfft
Maximum Times   :      300.0
Target Error %  :      0.200
Minimum Repeats :     2
Maximum Repeats :     5

   Benchmark   Compile  Executable   Ave Run  Number   Estim
        Name    (secs)     (bytes)    (secs) Repeats   Err %
   ---------   -------  ----------   ------- -------  ------
          ac      8.11       54576      8.17       2  0.0061
      aermod    173.69     1472520     18.81       2  0.1063
         air     25.43       89992      6.79       2  0.0516
    capacita     13.47      101344     40.33       2  0.0012
     channel      3.11       34448      2.97       5  0.2000
       doduc     27.33      212280     27.25       2  0.0239
     fatigue     10.08       81128      4.71       2  0.0212
     gas_dyn     24.89      144112      4.68       5  0.2030
      induct     23.86      185600     14.26       3  0.1813
       linpk      2.53       21536     21.75       2  0.0460
        mdbx      9.44       84776     12.50       2  0.0920
          nf     30.54      120568     28.22       5  0.2760
     protein     28.05      155624     35.55       2  0.0928
      rnflow     37.60      183696     26.83       2  0.0075
    test_fpu     20.20      145816     11.07       2  0.0135
        tfft      1.67       22072      3.30       4  0.1569

Geometric Mean Execution Time =      12.33 seconds

================================================================================
Polyhedron Benchmark Validator
Copyright (C) Polyhedron Software Ltd - 2004 - All rights reserved

Valgrind does not report any error for capacita, however it requires
--max-stackframe=8118496 for nf (--max-stackframe=6118496 yields
many errors).

Thanks for the work.

Dominique


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