Message ID | 20240321133954.34411-1-ams@baylibre.com |
---|---|
State | New |
Headers | show |
Series | [committed] amdgcn: Ensure gfx11 is running in cumode | expand |
Hi Andrew! On 2024-03-21T13:39:53+0000, Andrew Stubbs <ams@baylibre.com> wrote: > CUmode "on" is the setting for compatibility with GCN and CDNA devices. > --- a/gcc/config/gcn/gcn-hsa.h > +++ b/gcc/config/gcn/gcn-hsa.h > @@ -107,6 +107,7 @@ extern unsigned int gcn_local_sym_hash (const char *name); > "%{" NO_XNACK XNACKOPT "} " \ > "%{" NO_SRAM_ECC SRAMOPT "} " \ > "%{march=gfx1030|march=gfx1100:-mattr=+wavefrontsize64} " \ > + "%{march=gfx1030|march=gfx1100:-mattr=+cumode} " \ > "-filetype=obj" Is this just general housekeeping, or should I be seeing any kind of change in the GCN target '-march=gfx1100' test results? (I'm not.) Grüße Thomas
On 22/03/2024 11:56, Thomas Schwinge wrote: > Hi Andrew! > > On 2024-03-21T13:39:53+0000, Andrew Stubbs <ams@baylibre.com> wrote: >> CUmode "on" is the setting for compatibility with GCN and CDNA devices. > >> --- a/gcc/config/gcn/gcn-hsa.h >> +++ b/gcc/config/gcn/gcn-hsa.h >> @@ -107,6 +107,7 @@ extern unsigned int gcn_local_sym_hash (const char *name); >> "%{" NO_XNACK XNACKOPT "} " \ >> "%{" NO_SRAM_ECC SRAMOPT "} " \ >> "%{march=gfx1030|march=gfx1100:-mattr=+wavefrontsize64} " \ >> + "%{march=gfx1030|march=gfx1100:-mattr=+cumode} " \ >> "-filetype=obj" > > Is this just general housekeeping, or should I be seeing any kind of > change in the GCN target '-march=gfx1100' test results? (I'm not.) I'm pretty sure cumode is the default, but defaults can change and now we're future-proof. The option doesn't change the ELF flags at all. The opposite of cumode allows more than 16 wavefronts in a workgroup, but they can't physically share a single LDS memory so it would break OpenACC broadcasting and reductions, and OpenMP libgomp team metadata. Also "cgroup" low-latency memory allocation. Andrew
diff --git a/gcc/config/gcn/gcn-hsa.h b/gcc/config/gcn/gcn-hsa.h index 9cf181f52a4..c75256dbac3 100644 --- a/gcc/config/gcn/gcn-hsa.h +++ b/gcc/config/gcn/gcn-hsa.h @@ -107,6 +107,7 @@ extern unsigned int gcn_local_sym_hash (const char *name); "%{" NO_XNACK XNACKOPT "} " \ "%{" NO_SRAM_ECC SRAMOPT "} " \ "%{march=gfx1030|march=gfx1100:-mattr=+wavefrontsize64} " \ + "%{march=gfx1030|march=gfx1100:-mattr=+cumode} " \ "-filetype=obj" #define LINK_SPEC "--pie --export-dynamic" #define LIB_SPEC "-lc"