[Patch, fortran] PR37336 finalization

Richard Biener rguenther@suse.de
Wed Mar 8 14:57:59 GMT 2023


On Wed, 8 Mar 2023, Paul Richard Thomas wrote:

> Hi All,
> 
> I ran the polyhedron testsuite with the patched gfortran-13.0.1 and 7.4(as
> used in the posted Linux test). The timings are comparable except for
> rnflow.f90.
> 
> As noted below, rnflow.f90 hangs with the unpatched mainline at -O3 but
> runs successfully at -O2.
> 
> I presume that this is a serious regression since it involves optimization?

I believe it has undefined behavior (accessing array out of bounds).

> Which component should I post it against?
> 
> Regards
> 
> Paul
> 
> gfortran 13.0.1 with patch
>    Benchmark   Compile  Executable   Ave Run  Number   Estim
>         Name    (secs)     (bytes)    (secs) Repeats   Err %
>    ---------   -------  ----------   ------- -------  ------
>           ac      0.00       55904      7.28       2  0.0550
>       aermod      0.00     1149032     10.32       2  0.0242
>          air      0.00      120224      3.57       2  0.3083
>     capacita      0.00      110872     20.27       2  0.0765
>     channel2      0.00       43928     98.23       2  0.2703
>        doduc      0.00      190296     13.86       2  0.2453
>     gas_dyn2      0.00      108176     96.77       2  0.1364
>     fatigue2      0.00       90752     61.44       2  0.0618
>      induct2      0.00      224992     57.71       2  0.0572
>        linpk      0.00       47672      5.54       2  0.1806
> mp_prop_desi      0.00       52640     94.50       2  0.0079
>           nf      0.00       64480      9.25       2  0.4053
>      protein      0.00      136496     20.83       2  0.9096
>       rnflow      0.00      181320   3417.15       2 99.8270****
>    test_fpu2      0.00      126752     52.35       2  0.1691
>        tfft2      0.00       60280     37.61       2  0.9387
> 
> Geometric Mean Execution Time =      32.72 seconds
> ****rnflow hangs without patch as well. Seems to be a rather serious
> regression.
> gets stuck with -O3 in the loop starting at line 3566 in subroutine cptrf2
> 
> ================================================================================
> 
> gfortran7.4
>    Benchmark   Compile  Executable   Ave Run  Number   Estim
>         Name    (secs)     (bytes)    (secs) Repeats   Err %
>    ---------   -------  ----------   ------- -------  ------
>           ac      0.00     3612576      7.30       2  0.0205
>       aermod      0.00     5204760     10.21       2  0.0784
>          air      0.00     3829736      4.05       2  0.0988
>     capacita      0.00     3672512     22.25       2  0.1506
>     channel2      0.00     3663368     87.22       2  0.5767
>        doduc      0.00     3840336     13.60       2  0.0221
>     gas_dyn2      0.00     3673920     89.54       2  0.1106
>     fatigue2      0.00     3691256     74.34       2  0.0921
>      induct2      0.00     4062312     57.87       2  0.1348
>        linpk      0.00     3591984      5.59       2  0.0358
> mp_prop_desi      0.00     3966920     93.99       2  0.0654
>           nf      0.00     3622112      9.27       2  0.0324
>      protein      0.00     3832280     22.10       2  0.1289
>       rnflow      0.00     4129984     23.49       2  0.7449
>    test_fpu2      0.00     3940944     53.29       2  0.2561
>        tfft2      0.00     3622040     36.56       2  0.1026
> 
> Geometric Mean Execution Time =      24.33 seconds
> 

-- 
Richard Biener <rguenther@suse.de>
SUSE Software Solutions Germany GmbH, Frankenstrasse 146, 90461 Nuernberg,
Germany; GF: Ivo Totev, Andrew Myers, Andrew McDonald, Boudien Moerman;
HRB 36809 (AG Nuernberg)


More information about the Fortran mailing list