diff mbox series

[committed] amdgcn: Ensure gfx11 is running in cumode

Message ID 20240321133954.34411-1-ams@baylibre.com
State New
Headers show
Series [committed] amdgcn: Ensure gfx11 is running in cumode | expand

Commit Message

Andrew Stubbs March 21, 2024, 1:39 p.m. UTC
CUmode "on" is the setting for compatibility with GCN and CDNA devices.

Committed to mainline.

gcc/ChangeLog:

	* config/gcn/gcn-hsa.h (ASM_SPEC): Pass -mattr=+cumode.
---
 gcc/config/gcn/gcn-hsa.h | 1 +
 1 file changed, 1 insertion(+)

Comments

Thomas Schwinge March 22, 2024, 11:56 a.m. UTC | #1
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
Andrew Stubbs March 22, 2024, 1:12 p.m. UTC | #2
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 mbox series

Patch

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"