[Fortran] Yet more array dependence improvements

Paul Thomas paulthomas2@wanadoo.fr
Sat Mar 11 22:59:00 GMT 2006


Steve Kargl wrote:

>On Thu, Mar 09, 2006 at 04:18:57PM -0700, Roger Sayle wrote:
>  
>
>>Ok for mainline?
>>
>>2003-03-09  Roger Sayle  <roger@eyesopen.com>
>>
>>	* dependency.c (gfc_dep_compare_expr) <EXPR_OP>: Allow unary and
>>	binary operators to compare equal if their operands are equal.
>>	<EXPR_FUNCTION>: Allow "constant" intrinsic conversion functions
>>	to compare equal, if their operands are equal.
>>
>>	* gfortran.dg/dependency_10.f90: New test case.
>>	* gfortran.dg/dependency_11.f90: Likewise.
>>
>>
>>    
>>
>
>OK.
>
>Here are Polyhedron results.  Note the nf.f90 results.
>Also, these are single runs, not some average.
>
>gfc4x -w -o z -funroll-loops -O2
>
>Pre Roger Patch:
>
>ac.f90       161.48 real        51.90 user         0.01 sys
>aermod.f90   437.58 real       137.06 user         0.07 sys
>air.f90      163.37 real        63.35 user         0.10 sys
>capacita.f90 664.77 real       276.91 user         4.71 sys
>channel.f90  224.35 real        79.38 user        15.40 sys
>doduc.f90    126.41 real       120.16 user         0.00 sys
>gas_dyn.f90   83.48 real        73.32 user         7.63 sys
>induct.f90   110.17 real       108.56 user         0.06 sys
>linpk.f90    249.92 real       110.71 user         0.18 sys
>mdbx.f90     174.16 real        73.04 user         0.02 sys
>nf.f90       522.41 real       171.63 user        38.20 sys
>protein.f90  310.24 real       138.41 user         6.24 sys
>rnflow.f90   141.73 real       123.03 user         9.25 sys
>test_fpu.f90  95.91 real        89.35 user         1.35 sys
>tfft.f90      34.67 real        34.25 user         0.01 sys
>fatigue.f90   68.99 real        38.61 user         0.03 sys
>
>
>Post Roger Patch:
>
>ac.f90        73.28 real        51.75 user         0.00 sys
>aermod.f90   136.54 real       134.94 user         0.02 sys
>air.f90       63.79 real        61.71 user         0.03 sys
>capacita.f90 289.56 real       274.84 user         4.65 sys
>channel.f90   97.02 real        78.37 user        15.37 sys
>doduc.f90    123.77 real       120.27 user         0.00 sys
>gas_dyn.f90   83.36 real        72.74 user         7.95 sys
>induct.f90   111.40 real       108.72 user         0.08 sys
>linpk.f90    116.94 real       111.37 user         0.21 sys
>mdbx.f90      75.30 real        72.18 user         0.05 sys
>nf.f90       162.29 real       139.19 user        16.74 sys
>protein.f90  147.55 real       137.72 user         5.85 sys
>rnflow.f90   137.58 real       122.81 user         9.36 sys
>test_fpu.f90  94.60 real        89.55 user         1.31 sys
>tfft.f90      35.47 real        34.11 user         0.00 sys
>fatigue.f90   38.78 real        38.34 user         0.00 sys
>
>__ 
>Steve
>
>
>  
>
As suspected from Richard Guenther's figures, nf.f90 is the real 
beneficiary, so for.  Does the number of alloc's and malloc's go down?

Paul



More information about the Fortran mailing list