public inbox for gcc-bugs@sourceware.org
help / color / mirror / Atom feed
* [Bug middle-end/91512] [10 Regression] Fortran compile time regression.
       [not found] <bug-91512-4@http.gcc.gnu.org/bugzilla/>
@ 2020-04-21 16:00 ` seurer at linux dot vnet.ibm.com
  2020-04-21 16:33 ` tkoenig at gcc dot gnu.org
                   ` (10 subsequent siblings)
  11 siblings, 0 replies; 12+ messages in thread
From: seurer at linux dot vnet.ibm.com @ 2020-04-21 16:00 UTC (permalink / raw)
  To: gcc-bugs

https://gcc.gnu.org/bugzilla/show_bug.cgi?id=91512

Bill Seurer <seurer at linux dot vnet.ibm.com> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |seurer at linux dot vnet.ibm.com

--- Comment #25 from Bill Seurer <seurer at linux dot vnet.ibm.com> ---
This is affecting us on powerpc64 as well.  It takes twice as long to build the
spec2017 test cases with most of the difference in a few of the fortran
compilations which take 30 times or more longer.  I tried the new option but it
seems to have no effect.

Some quick comparison timings:

compiling module_first_rk_step_part1.fppized.f90 (part of 521.wrf_r)

r10-484: 0m17, 0m14
r10-485: 9m19, 9m17
r10-7837 (current-ish trunk): 9m57, 10m3
r10-7837 with -finline-arg-packing: 9m58, 9m59

Compiling all of spec2017

r10-484: 34m8 
r10-485: 65m1  
r10-7837: 63m47  
r10-7837 w. option: 65m36

^ permalink raw reply	[flat|nested] 12+ messages in thread

* [Bug middle-end/91512] [10 Regression] Fortran compile time regression.
       [not found] <bug-91512-4@http.gcc.gnu.org/bugzilla/>
  2020-04-21 16:00 ` [Bug middle-end/91512] [10 Regression] Fortran compile time regression seurer at linux dot vnet.ibm.com
@ 2020-04-21 16:33 ` tkoenig at gcc dot gnu.org
  2020-04-21 16:45 ` rguenther at suse dot de
                   ` (9 subsequent siblings)
  11 siblings, 0 replies; 12+ messages in thread
From: tkoenig at gcc dot gnu.org @ 2020-04-21 16:33 UTC (permalink / raw)
  To: gcc-bugs

https://gcc.gnu.org/bugzilla/show_bug.cgi?id=91512

--- Comment #26 from Thomas Koenig <tkoenig at gcc dot gnu.org> ---
(In reply to Bill Seurer from comment #25)
> This is affecting us on powerpc64 as well.  It takes twice as long to build
> the spec2017 test cases with most of the difference in a few of the fortran
> compilations which take 30 times or more longer.  I tried the new option but
> it seems to have no effect.
> 
> Some quick comparison timings:
> 
> compiling module_first_rk_step_part1.fppized.f90 (part of 521.wrf_r)
> 
> r10-484: 0m17, 0m14
> r10-485: 9m19, 9m17
> r10-7837 (current-ish trunk): 9m57, 10m3
> r10-7837 with -finline-arg-packing: 9m58, 9m59
> 
> Compiling all of spec2017
> 
> r10-484: 34m8 
> r10-485: 65m1  
> r10-7837: 63m47  
> r10-7837 w. option: 65m36

Does the option actually work, i.e. does it have the desired effect
of not expanding the packing inline?  Maybe you could do a quick check
of the tree dumps generated.

^ permalink raw reply	[flat|nested] 12+ messages in thread

* [Bug middle-end/91512] [10 Regression] Fortran compile time regression.
       [not found] <bug-91512-4@http.gcc.gnu.org/bugzilla/>
  2020-04-21 16:00 ` [Bug middle-end/91512] [10 Regression] Fortran compile time regression seurer at linux dot vnet.ibm.com
  2020-04-21 16:33 ` tkoenig at gcc dot gnu.org
@ 2020-04-21 16:45 ` rguenther at suse dot de
  2020-04-21 17:33 ` rguenth at gcc dot gnu.org
                   ` (8 subsequent siblings)
  11 siblings, 0 replies; 12+ messages in thread
From: rguenther at suse dot de @ 2020-04-21 16:45 UTC (permalink / raw)
  To: gcc-bugs

https://gcc.gnu.org/bugzilla/show_bug.cgi?id=91512

--- Comment #27 from rguenther at suse dot de <rguenther at suse dot de> ---
On Tue, 21 Apr 2020, tkoenig at gcc dot gnu.org wrote:

> https://gcc.gnu.org/bugzilla/show_bug.cgi?id=91512
> 
> --- Comment #26 from Thomas Koenig <tkoenig at gcc dot gnu.org> ---
> (In reply to Bill Seurer from comment #25)
> > This is affecting us on powerpc64 as well.  It takes twice as long to build
> > the spec2017 test cases with most of the difference in a few of the fortran
> > compilations which take 30 times or more longer.  I tried the new option but
> > it seems to have no effect.
> > 
> > Some quick comparison timings:
> > 
> > compiling module_first_rk_step_part1.fppized.f90 (part of 521.wrf_r)
> > 
> > r10-484: 0m17, 0m14
> > r10-485: 9m19, 9m17
> > r10-7837 (current-ish trunk): 9m57, 10m3
> > r10-7837 with -finline-arg-packing: 9m58, 9m59
> > 
> > Compiling all of spec2017
> > 
> > r10-484: 34m8 
> > r10-485: 65m1  
> > r10-7837: 63m47  
> > r10-7837 w. option: 65m36
> 
> Does the option actually work, i.e. does it have the desired effect
> of not expanding the packing inline?  Maybe you could do a quick check
> of the tree dumps generated.

I think you need -fno-inline-arg-packing

^ permalink raw reply	[flat|nested] 12+ messages in thread

* [Bug middle-end/91512] [10 Regression] Fortran compile time regression.
       [not found] <bug-91512-4@http.gcc.gnu.org/bugzilla/>
                   ` (2 preceding siblings ...)
  2020-04-21 16:45 ` rguenther at suse dot de
@ 2020-04-21 17:33 ` rguenth at gcc dot gnu.org
  2020-04-22  3:54 ` seurer at linux dot vnet.ibm.com
                   ` (7 subsequent siblings)
  11 siblings, 0 replies; 12+ messages in thread
From: rguenth at gcc dot gnu.org @ 2020-04-21 17:33 UTC (permalink / raw)
  To: gcc-bugs

https://gcc.gnu.org/bugzilla/show_bug.cgi?id=91512

--- Comment #28 from Richard Biener <rguenth at gcc dot gnu.org> ---
Note a possibility would be to emit the packing/unpacking functions as
inline functions so whether inlining happens would be decided by the
middle-end inlining heuristics.  That has the advantage of inlining
only at (estimated) hot call sites and honoring limits set for unit
and function growth.

If the inline function is appropriately declared then the offline
copy would continue to reside in libgfortran.

Not sure if this enables the same optimization as fully inlining
the packing/unpacking in the frontend does.

^ permalink raw reply	[flat|nested] 12+ messages in thread

* [Bug middle-end/91512] [10 Regression] Fortran compile time regression.
       [not found] <bug-91512-4@http.gcc.gnu.org/bugzilla/>
                   ` (3 preceding siblings ...)
  2020-04-21 17:33 ` rguenth at gcc dot gnu.org
@ 2020-04-22  3:54 ` seurer at linux dot vnet.ibm.com
  2020-04-22 14:48 ` seurer at linux dot vnet.ibm.com
                   ` (6 subsequent siblings)
  11 siblings, 0 replies; 12+ messages in thread
From: seurer at linux dot vnet.ibm.com @ 2020-04-22  3:54 UTC (permalink / raw)
  To: gcc-bugs

https://gcc.gnu.org/bugzilla/show_bug.cgi?id=91512

--- Comment #29 from Bill Seurer <seurer at linux dot vnet.ibm.com> ---
The suggestion above was to use -finline-arg-packing but I will try
-fno-inline-arg-packing.

^ permalink raw reply	[flat|nested] 12+ messages in thread

* [Bug middle-end/91512] [10 Regression] Fortran compile time regression.
       [not found] <bug-91512-4@http.gcc.gnu.org/bugzilla/>
                   ` (4 preceding siblings ...)
  2020-04-22  3:54 ` seurer at linux dot vnet.ibm.com
@ 2020-04-22 14:48 ` seurer at linux dot vnet.ibm.com
  2020-04-23 19:47 ` meissner at gcc dot gnu.org
                   ` (5 subsequent siblings)
  11 siblings, 0 replies; 12+ messages in thread
From: seurer at linux dot vnet.ibm.com @ 2020-04-22 14:48 UTC (permalink / raw)
  To: gcc-bugs

https://gcc.gnu.org/bugzilla/show_bug.cgi?id=91512

--- Comment #30 from Bill Seurer <seurer at linux dot vnet.ibm.com> ---
I tried

-fno-inline-arg-packing

and with that the time to build all of spec2017 is 28m43 versus 63m to 65m
without.

For my purposes this is fine BUT will using this option have some sort of
performance effect when the tests are run?

^ permalink raw reply	[flat|nested] 12+ messages in thread

* [Bug middle-end/91512] [10 Regression] Fortran compile time regression.
       [not found] <bug-91512-4@http.gcc.gnu.org/bugzilla/>
                   ` (5 preceding siblings ...)
  2020-04-22 14:48 ` seurer at linux dot vnet.ibm.com
@ 2020-04-23 19:47 ` meissner at gcc dot gnu.org
  2020-05-07 11:56 ` [Bug middle-end/91512] [10/11 " jakub at gcc dot gnu.org
                   ` (4 subsequent siblings)
  11 siblings, 0 replies; 12+ messages in thread
From: meissner at gcc dot gnu.org @ 2020-04-23 19:47 UTC (permalink / raw)
  To: gcc-bugs

https://gcc.gnu.org/bugzilla/show_bug.cgi?id=91512

--- Comment #31 from Michael Meissner <meissner at gcc dot gnu.org> ---
For the Spec 2017 521.wrf_r benchmark on little endian PowerPC power9 systems,
there was no difference in runtime between a normal run using -Ofast
-mcpu=power9 and one with -Ofast -mcpu=power9 -fno-inline-arg-packing.

Of the seven rate benchmarks in Spec 2017 that use Fortran (548.exchange2_r,
503.bwaves_r, 507.cactuBSSN_r, 521.wrf_r, 527.cam4_r, 549.fotonik3d_r, and
554.roms_r) none of them vary by more tha 0.7% depending on whether the switch
is used or not.

I used the compiler checked out from the master branch on March 27, 2020 to
build and run the benchmarks.

As others have said, using -fno-inline-arg-packing does dramatically reduce the
time it takes to compile 521.wrf_r.

^ permalink raw reply	[flat|nested] 12+ messages in thread

* [Bug middle-end/91512] [10/11 Regression] Fortran compile time regression.
       [not found] <bug-91512-4@http.gcc.gnu.org/bugzilla/>
                   ` (6 preceding siblings ...)
  2020-04-23 19:47 ` meissner at gcc dot gnu.org
@ 2020-05-07 11:56 ` jakub at gcc dot gnu.org
  2020-07-23  6:51 ` rguenth at gcc dot gnu.org
                   ` (3 subsequent siblings)
  11 siblings, 0 replies; 12+ messages in thread
From: jakub at gcc dot gnu.org @ 2020-05-07 11:56 UTC (permalink / raw)
  To: gcc-bugs

https://gcc.gnu.org/bugzilla/show_bug.cgi?id=91512

Jakub Jelinek <jakub at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
   Target Milestone|10.0                        |10.2

--- Comment #32 from Jakub Jelinek <jakub at gcc dot gnu.org> ---
GCC 10.1 has been released.

^ permalink raw reply	[flat|nested] 12+ messages in thread

* [Bug middle-end/91512] [10/11 Regression] Fortran compile time regression.
       [not found] <bug-91512-4@http.gcc.gnu.org/bugzilla/>
                   ` (7 preceding siblings ...)
  2020-05-07 11:56 ` [Bug middle-end/91512] [10/11 " jakub at gcc dot gnu.org
@ 2020-07-23  6:51 ` rguenth at gcc dot gnu.org
  2021-04-08 12:02 ` rguenth at gcc dot gnu.org
                   ` (2 subsequent siblings)
  11 siblings, 0 replies; 12+ messages in thread
From: rguenth at gcc dot gnu.org @ 2020-07-23  6:51 UTC (permalink / raw)
  To: gcc-bugs

https://gcc.gnu.org/bugzilla/show_bug.cgi?id=91512

Richard Biener <rguenth at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
   Target Milestone|10.2                        |10.3

--- Comment #33 from Richard Biener <rguenth at gcc dot gnu.org> ---
GCC 10.2 is released, adjusting target milestone.

^ permalink raw reply	[flat|nested] 12+ messages in thread

* [Bug middle-end/91512] [10/11 Regression] Fortran compile time regression.
       [not found] <bug-91512-4@http.gcc.gnu.org/bugzilla/>
                   ` (8 preceding siblings ...)
  2020-07-23  6:51 ` rguenth at gcc dot gnu.org
@ 2021-04-08 12:02 ` rguenth at gcc dot gnu.org
  2022-06-28 10:38 ` [Bug middle-end/91512] [10/11/12/13 " jakub at gcc dot gnu.org
  2023-07-07 10:35 ` [Bug middle-end/91512] [11/12/13/14 " rguenth at gcc dot gnu.org
  11 siblings, 0 replies; 12+ messages in thread
From: rguenth at gcc dot gnu.org @ 2021-04-08 12:02 UTC (permalink / raw)
  To: gcc-bugs

https://gcc.gnu.org/bugzilla/show_bug.cgi?id=91512

Richard Biener <rguenth at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
   Target Milestone|10.3                        |10.4

--- Comment #34 from Richard Biener <rguenth at gcc dot gnu.org> ---
GCC 10.3 is being released, retargeting bugs to GCC 10.4.

^ permalink raw reply	[flat|nested] 12+ messages in thread

* [Bug middle-end/91512] [10/11/12/13 Regression] Fortran compile time regression.
       [not found] <bug-91512-4@http.gcc.gnu.org/bugzilla/>
                   ` (9 preceding siblings ...)
  2021-04-08 12:02 ` rguenth at gcc dot gnu.org
@ 2022-06-28 10:38 ` jakub at gcc dot gnu.org
  2023-07-07 10:35 ` [Bug middle-end/91512] [11/12/13/14 " rguenth at gcc dot gnu.org
  11 siblings, 0 replies; 12+ messages in thread
From: jakub at gcc dot gnu.org @ 2022-06-28 10:38 UTC (permalink / raw)
  To: gcc-bugs

https://gcc.gnu.org/bugzilla/show_bug.cgi?id=91512

Jakub Jelinek <jakub at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
   Target Milestone|10.4                        |10.5

--- Comment #35 from Jakub Jelinek <jakub at gcc dot gnu.org> ---
GCC 10.4 is being released, retargeting bugs to GCC 10.5.

^ permalink raw reply	[flat|nested] 12+ messages in thread

* [Bug middle-end/91512] [11/12/13/14 Regression] Fortran compile time regression.
       [not found] <bug-91512-4@http.gcc.gnu.org/bugzilla/>
                   ` (10 preceding siblings ...)
  2022-06-28 10:38 ` [Bug middle-end/91512] [10/11/12/13 " jakub at gcc dot gnu.org
@ 2023-07-07 10:35 ` rguenth at gcc dot gnu.org
  11 siblings, 0 replies; 12+ messages in thread
From: rguenth at gcc dot gnu.org @ 2023-07-07 10:35 UTC (permalink / raw)
  To: gcc-bugs

https://gcc.gnu.org/bugzilla/show_bug.cgi?id=91512

Richard Biener <rguenth at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
   Target Milestone|10.5                        |11.5

--- Comment #36 from Richard Biener <rguenth at gcc dot gnu.org> ---
GCC 10 branch is being closed.

^ permalink raw reply	[flat|nested] 12+ messages in thread

end of thread, other threads:[~2023-07-07 10:35 UTC | newest]

Thread overview: 12+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
     [not found] <bug-91512-4@http.gcc.gnu.org/bugzilla/>
2020-04-21 16:00 ` [Bug middle-end/91512] [10 Regression] Fortran compile time regression seurer at linux dot vnet.ibm.com
2020-04-21 16:33 ` tkoenig at gcc dot gnu.org
2020-04-21 16:45 ` rguenther at suse dot de
2020-04-21 17:33 ` rguenth at gcc dot gnu.org
2020-04-22  3:54 ` seurer at linux dot vnet.ibm.com
2020-04-22 14:48 ` seurer at linux dot vnet.ibm.com
2020-04-23 19:47 ` meissner at gcc dot gnu.org
2020-05-07 11:56 ` [Bug middle-end/91512] [10/11 " jakub at gcc dot gnu.org
2020-07-23  6:51 ` rguenth at gcc dot gnu.org
2021-04-08 12:02 ` rguenth at gcc dot gnu.org
2022-06-28 10:38 ` [Bug middle-end/91512] [10/11/12/13 " jakub at gcc dot gnu.org
2023-07-07 10:35 ` [Bug middle-end/91512] [11/12/13/14 " rguenth at gcc dot gnu.org

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).