public inbox for gcc-bugs@sourceware.org
help / color / mirror / Atom feed
* [Bug target/112937] New: [14 Regression] GCN: FAILs due to unconditional 'f->use_flat_addressing = true;'
@ 2023-12-09 11:24 tschwinge at gcc dot gnu.org
  2023-12-11  9:55 ` [Bug target/112937] " rguenth at gcc dot gnu.org
                   ` (5 more replies)
  0 siblings, 6 replies; 7+ messages in thread
From: tschwinge at gcc dot gnu.org @ 2023-12-09 11:24 UTC (permalink / raw)
  To: gcc-bugs

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

            Bug ID: 112937
           Summary: [14 Regression] GCN: FAILs due to unconditional
                    'f->use_flat_addressing = true;'
           Product: gcc
           Version: 14.0
            Status: UNCONFIRMED
          Keywords: testsuite-fail
          Severity: normal
          Priority: P3
         Component: target
          Assignee: unassigned at gcc dot gnu.org
          Reporter: tschwinge at gcc dot gnu.org
                CC: ams at gcc dot gnu.org, jules at gcc dot gnu.org
  Target Milestone: ---
            Target: GCN

The unconditional GCN 'f->use_flat_addressing = true;' applied as part of
commit r14-6226-ge7d6c277fa28c0b9b621d23c471e0388d2912644 "amdgcn, libgomp:
low-latency allocator" is causing a few regressions for GCN target (not
offloading) testing (tested '-march=gfx906', '-march=gfx90a'):

C:

    [-PASS:-]{+FAIL:+} gcc.dg/pr64935-1.c (test for excess errors)

    xgcc: error: [...]/gcc.dg/pr64935-1.c: '-fcompare-debug' failure (length)

Fortran:

    PASS: gfortran.dg/coarray/fail_image_2.f08 -fcoarray=single  -O2  (test for
excess errors)
    [-PASS:-]{+FAIL:+} gfortran.dg/coarray/fail_image_2.f08 -fcoarray=single 
-O2  execution test

    PASS: gfortran.dg/team_change_1.f90   -O0  (test for excess errors)
    [-PASS:-]{+FAIL:+} gfortran.dg/team_change_1.f90   -O0  execution test
    [Etc.]

    PASS: gfortran.dg/team_end_1.f90   -O0  (test for excess errors)
    [-PASS:-]{+FAIL:+} gfortran.dg/team_end_1.f90   -O0  execution test
    [Etc.]

    PASS: gfortran.dg/team_form_1.f90   -O0  (test for excess errors)
    [-PASS:-]{+FAIL:+} gfortran.dg/team_form_1.f90   -O0  execution test
    [Etc.]

    PASS: gfortran.dg/team_number_1.f90   -O0  (test for excess errors)
    [-PASS:-]{+FAIL:+} gfortran.dg/team_number_1.f90   -O0  execution test
    [Etc.]

These execution test FAILs are generally of the form:

    Memory access fault by GPU node-2 (Agent handle: 0x20a1d40) on address
0x7f5600000000. Reason: Page not present or supervisor privilege.

Additionally, I'm seeing the following in my libstdc++ enablement tree:

    PASS: std/ranges/iota/max_size_type.cc  -std=gnu++20 (test for excess
errors)
    {+WARNING: std/ranges/iota/max_size_type.cc  -std=gnu++20 execution test
program timed out.+}
    [-PASS:-]{+FAIL:+} std/ranges/iota/max_size_type.cc  -std=gnu++20 execution
test
    PASS: std/ranges/iota/max_size_type.cc  -std=gnu++26 (test for excess
errors)
    {+WARNING: std/ranges/iota/max_size_type.cc  -std=gnu++26 execution test
program timed out.+}
    [-PASS:-]{+FAIL:+} std/ranges/iota/max_size_type.cc  -std=gnu++26 execution
test

(I guess I could provide pre-processed files for those if you'd like to
reproduce.)

To restore the Fortran test cases, just reverting the GCN back end change is
not sufficient: also need to rebuild GCN target libraries.  (That is, the GCN
back end change does affect code generated for GCN target libraries.)

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

* [Bug target/112937] [14 Regression] GCN: FAILs due to unconditional 'f->use_flat_addressing = true;'
  2023-12-09 11:24 [Bug target/112937] New: [14 Regression] GCN: FAILs due to unconditional 'f->use_flat_addressing = true;' tschwinge at gcc dot gnu.org
@ 2023-12-11  9:55 ` rguenth at gcc dot gnu.org
  2023-12-11 15:36 ` tschwinge at gcc dot gnu.org
                   ` (4 subsequent siblings)
  5 siblings, 0 replies; 7+ messages in thread
From: rguenth at gcc dot gnu.org @ 2023-12-11  9:55 UTC (permalink / raw)
  To: gcc-bugs

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

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

           What    |Removed                     |Added
----------------------------------------------------------------------------
   Target Milestone|---                         |14.0

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

* [Bug target/112937] [14 Regression] GCN: FAILs due to unconditional 'f->use_flat_addressing = true;'
  2023-12-09 11:24 [Bug target/112937] New: [14 Regression] GCN: FAILs due to unconditional 'f->use_flat_addressing = true;' tschwinge at gcc dot gnu.org
  2023-12-11  9:55 ` [Bug target/112937] " rguenth at gcc dot gnu.org
@ 2023-12-11 15:36 ` tschwinge at gcc dot gnu.org
  2023-12-11 15:47 ` ams at gcc dot gnu.org
                   ` (3 subsequent siblings)
  5 siblings, 0 replies; 7+ messages in thread
From: tschwinge at gcc dot gnu.org @ 2023-12-11 15:36 UTC (permalink / raw)
  To: gcc-bugs

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

--- Comment #1 from Thomas Schwinge <tschwinge at gcc dot gnu.org> ---
The unconditional GCN 'f->use_flat_addressing = true;' also has an effect on
one (only!) libgomp offloading test case, for
'-foffload-options=amdgcn-amdhsa=-march=gfx90a' (only!):

    @@ -6188,11 +6188,11 @@ PASS: libgomp.fortran/target1.f90   -O1  execution
test
    PASS: libgomp.fortran/target1.f90   -O2  (test for excess errors)
    PASS: libgomp.fortran/target1.f90   -O2  execution test
    PASS: libgomp.fortran/target1.f90   -O3 -fomit-frame-pointer -funroll-loops
-fpeel-loops -ftracer -finline-functions  (test for excess errors)
    {+WARNING: program timed out.+}
    [-PASS:-]{+FAIL:+} libgomp.fortran/target1.f90   -O3 -fomit-frame-pointer
-funroll-loops -fpeel-loops -ftracer -finline-functions  execution test
    PASS: libgomp.fortran/target1.f90   -O3 -g  (test for excess errors)
    {+WARNING: program timed out.+}
    [-PASS:-]{+FAIL:+} libgomp.fortran/target1.f90   -O3 -g  execution test
    PASS: libgomp.fortran/target1.f90   -Os  (test for excess errors)
    PASS: libgomp.fortran/target1.f90   -Os  execution test

    libgomp: GCN fatal error: Asynchronous queue error
    Runtime message: HSA_STATUS_ERROR_INVALID_ISA: The instruction set
architecture is invalid.
    [hangs]

Huh!?  That looks very odd (to me, at least).

Manually trying with simply '-O3', that appears to be 100 % reproducible on our
gfx90a systems -- but nowhere else.  ..., and disappears with the unconditional
GCN 'f->use_flat_addressing = true;' reverted.  (..., which of course would
regress other new test cases.)

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

* [Bug target/112937] [14 Regression] GCN: FAILs due to unconditional 'f->use_flat_addressing = true;'
  2023-12-09 11:24 [Bug target/112937] New: [14 Regression] GCN: FAILs due to unconditional 'f->use_flat_addressing = true;' tschwinge at gcc dot gnu.org
  2023-12-11  9:55 ` [Bug target/112937] " rguenth at gcc dot gnu.org
  2023-12-11 15:36 ` tschwinge at gcc dot gnu.org
@ 2023-12-11 15:47 ` ams at gcc dot gnu.org
  2024-01-08 15:05 ` tschwinge at gcc dot gnu.org
                   ` (2 subsequent siblings)
  5 siblings, 0 replies; 7+ messages in thread
From: ams at gcc dot gnu.org @ 2023-12-11 15:47 UTC (permalink / raw)
  To: gcc-bugs

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

--- Comment #2 from Andrew Stubbs <ams at gcc dot gnu.org> ---
Flat addressing *should* be the safe option that always works (although using
"global" address space permits slightly more efficient offset options).

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

* [Bug target/112937] [14 Regression] GCN: FAILs due to unconditional 'f->use_flat_addressing = true;'
  2023-12-09 11:24 [Bug target/112937] New: [14 Regression] GCN: FAILs due to unconditional 'f->use_flat_addressing = true;' tschwinge at gcc dot gnu.org
                   ` (2 preceding siblings ...)
  2023-12-11 15:47 ` ams at gcc dot gnu.org
@ 2024-01-08 15:05 ` tschwinge at gcc dot gnu.org
  2024-03-07 20:59 ` law at gcc dot gnu.org
  2024-05-07  7:43 ` [Bug target/112937] [14/15 " rguenth at gcc dot gnu.org
  5 siblings, 0 replies; 7+ messages in thread
From: tschwinge at gcc dot gnu.org @ 2024-01-08 15:05 UTC (permalink / raw)
  To: gcc-bugs

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

--- Comment #3 from Thomas Schwinge <tschwinge at gcc dot gnu.org> ---
The GCN offloading 'libgomp.fortran/target1.f90' regression has been cured by
commit r14-6996-gc5c3aab38132ea34dc1ee69d93fded787e6ac7a4 "amdgcn: Don't
double-count AVGPRs" (..., but not the GCN target regressions that I initially
reported here).

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

* [Bug target/112937] [14 Regression] GCN: FAILs due to unconditional 'f->use_flat_addressing = true;'
  2023-12-09 11:24 [Bug target/112937] New: [14 Regression] GCN: FAILs due to unconditional 'f->use_flat_addressing = true;' tschwinge at gcc dot gnu.org
                   ` (3 preceding siblings ...)
  2024-01-08 15:05 ` tschwinge at gcc dot gnu.org
@ 2024-03-07 20:59 ` law at gcc dot gnu.org
  2024-05-07  7:43 ` [Bug target/112937] [14/15 " rguenth at gcc dot gnu.org
  5 siblings, 0 replies; 7+ messages in thread
From: law at gcc dot gnu.org @ 2024-03-07 20:59 UTC (permalink / raw)
  To: gcc-bugs

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

Jeffrey A. Law <law at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
           Priority|P3                          |P2
                 CC|                            |law at gcc dot gnu.org

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

* [Bug target/112937] [14/15 Regression] GCN: FAILs due to unconditional 'f->use_flat_addressing = true;'
  2023-12-09 11:24 [Bug target/112937] New: [14 Regression] GCN: FAILs due to unconditional 'f->use_flat_addressing = true;' tschwinge at gcc dot gnu.org
                   ` (4 preceding siblings ...)
  2024-03-07 20:59 ` law at gcc dot gnu.org
@ 2024-05-07  7:43 ` rguenth at gcc dot gnu.org
  5 siblings, 0 replies; 7+ messages in thread
From: rguenth at gcc dot gnu.org @ 2024-05-07  7:43 UTC (permalink / raw)
  To: gcc-bugs

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

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

           What    |Removed                     |Added
----------------------------------------------------------------------------
   Target Milestone|14.0                        |14.2

--- Comment #4 from Richard Biener <rguenth at gcc dot gnu.org> ---
GCC 14.1 is being released, retargeting bugs to GCC 14.2.

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

end of thread, other threads:[~2024-05-07  7:43 UTC | newest]

Thread overview: 7+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2023-12-09 11:24 [Bug target/112937] New: [14 Regression] GCN: FAILs due to unconditional 'f->use_flat_addressing = true;' tschwinge at gcc dot gnu.org
2023-12-11  9:55 ` [Bug target/112937] " rguenth at gcc dot gnu.org
2023-12-11 15:36 ` tschwinge at gcc dot gnu.org
2023-12-11 15:47 ` ams at gcc dot gnu.org
2024-01-08 15:05 ` tschwinge at gcc dot gnu.org
2024-03-07 20:59 ` law at gcc dot gnu.org
2024-05-07  7:43 ` [Bug target/112937] [14/15 " 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).