Re: GCN: Make "gang-private data-share memory exhausted" error more verbose (was: [PATCH] [og10] OpenACC: Shared memory layout optimisation)

2022-04-26 Thread Julian Brown
On Tue, 26 Apr 2022 13:12:23 +0200 Thomas Schwinge wrote: > > @@ -5240,14 +5286,14 @@ gcn_print_lds_decl (FILE *f, tree var) > >if (size > align && size > 4 && align < 8) > > align = 8; > > > > - machfun->lds_allocated = ((machfun->lds_allocated + align - > > 1) > > -

GCN: Make "gang-private data-share memory exhausted" error more verbose (was: [PATCH] [og10] OpenACC: Shared memory layout optimisation)

2022-04-26 Thread Thomas Schwinge
Hi! On 2020-06-29T13:16:52-0700, Julian Brown wrote: > This patch implements an algorithm to lay out local data-share (LDS) space. > It currently works for AMD GCN. At the moment, LDS is used for three things: > > 1. Gang-private variables > 2. Reduction temporaries (accumulators) > 3.

Re: [PATCH] [og10] OpenACC: Shared memory layout optimisation

2021-09-21 Thread Thomas Schwinge
Hi! On 2021-09-20T13:46:03+0100, Julian Brown wrote: > On Fri, 17 Sep 2021 16:26:50 +0200 > Thomas Schwinge wrote: > >> > @@ -1449,8 +1634,120 @@ oacc_do_neutering (void) >> >> > + addr_range ar >> > + = first_fit_range (conflicts, size, align, _shm_bounds); >> > + >> > +

Re: [PATCH] [og10] OpenACC: Shared memory layout optimisation

2021-09-20 Thread Julian Brown
On Fri, 17 Sep 2021 16:26:50 +0200 Thomas Schwinge wrote: > > @@ -1449,8 +1634,120 @@ oacc_do_neutering (void) > > > + addr_range ar > > + = first_fit_range (conflicts, size, align, > > _shm_bounds); + > > + splay_tree_delete (conflicts); > > + > > + if (ar.invalid ()) > >

Re: [PATCH] [og10] OpenACC: Shared memory layout optimisation

2021-09-17 Thread Thomas Schwinge
Hi! On 2020-06-29T13:16:52-0700, Julian Brown wrote: > This patch implements an algorithm to lay out local data-share (LDS) space. > It currently works for AMD GCN. [...] Thanks. (... but I have not verified the algorithmic/behavioral changes in detail.) I've merged in PR96334 "openacc:

Re: [PATCH] [og10] OpenACC: Shared memory layout optimisation

2021-09-17 Thread Thomas Schwinge
Hi! On 2020-06-29T13:16:52-0700, Julian Brown wrote: > --- /dev/null > +++ b/libgomp/testsuite/libgomp.oacc-c-c++-common/broadcast-many.c That one already/currently works without any code changes. > @@ -0,0 +1,79 @@ > +/* { dg-additional-options "-foffload=-mgang-local-size=64" } */ ... just

Re: [PATCH] [og10] OpenACC: Shared memory layout optimisation

2021-09-17 Thread Thomas Schwinge
Hi Julian! Three quick questions here: On 2020-06-29T13:16:52-0700, Julian Brown wrote: > This patch implements an algorithm to lay out local data-share (LDS) space. > It currently works for AMD GCN. [...] Thanks! > @@ -1449,8 +1634,120 @@ oacc_do_neutering (void) > + addr_range ar

[PATCH] [og10] OpenACC: Shared memory layout optimisation

2020-06-29 Thread Julian Brown
This patch implements an algorithm to lay out local data-share (LDS) space. It currently works for AMD GCN. At the moment, LDS is used for three things: 1. Gang-private variables 2. Reduction temporaries (accumulators) 3. Broadcasting for worker partitioning After the patch is applied,