LLVM 20.0.0git
Enumerations
llvm::AMDGPUAS Namespace Reference

OpenCL uses address spaces to differentiate between various memory regions on the hardware. More...

Enumerations

enum  : unsigned {
  MAX_AMDGPU_ADDRESS = 9 , FLAT_ADDRESS = 0 , GLOBAL_ADDRESS = 1 , REGION_ADDRESS = 2 ,
  CONSTANT_ADDRESS = 4 , LOCAL_ADDRESS = 3 , PRIVATE_ADDRESS = 5 , CONSTANT_ADDRESS_32BIT = 6 ,
  BUFFER_FAT_POINTER = 7 , BUFFER_RESOURCE = 8 , BUFFER_STRIDED_POINTER = 9 , STREAMOUT_REGISTER = 128 ,
  PARAM_D_ADDRESS = 6 , PARAM_I_ADDRESS = 7 , CONSTANT_BUFFER_0 = 8 , CONSTANT_BUFFER_1 = 9 ,
  CONSTANT_BUFFER_2 = 10 , CONSTANT_BUFFER_3 = 11 , CONSTANT_BUFFER_4 = 12 , CONSTANT_BUFFER_5 = 13 ,
  CONSTANT_BUFFER_6 = 14 , CONSTANT_BUFFER_7 = 15 , CONSTANT_BUFFER_8 = 16 , CONSTANT_BUFFER_9 = 17 ,
  CONSTANT_BUFFER_10 = 18 , CONSTANT_BUFFER_11 = 19 , CONSTANT_BUFFER_12 = 20 , CONSTANT_BUFFER_13 = 21 ,
  CONSTANT_BUFFER_14 = 22 , CONSTANT_BUFFER_15 = 23 , UNKNOWN_ADDRESS_SPACE = ~0u
}
 

Detailed Description

OpenCL uses address spaces to differentiate between various memory regions on the hardware.

On the CPU all of the address spaces point to the same memory, however on the GPU, each address space points to a separate piece of memory that is unique from other memory locations.

Enumeration Type Documentation

◆ anonymous enum

anonymous enum : unsigned
Enumerator
MAX_AMDGPU_ADDRESS 
FLAT_ADDRESS 

Address space for flat memory.

GLOBAL_ADDRESS 

Address space for global memory (RAT0, VTX0).

REGION_ADDRESS 

Address space for region memory. (GDS)

CONSTANT_ADDRESS 

Address space for constant memory (VTX2).

LOCAL_ADDRESS 

Address space for local memory.

PRIVATE_ADDRESS 

Address space for private memory.

CONSTANT_ADDRESS_32BIT 

Address space for 32-bit constant memory.

BUFFER_FAT_POINTER 

Address space for 160-bit buffer fat pointers.

Not used in backend.

BUFFER_RESOURCE 

Address space for 128-bit buffer resources.

BUFFER_STRIDED_POINTER 

Address space for 192-bit fat buffer pointers with an additional index.

STREAMOUT_REGISTER 

Internal address spaces. Can be freely renumbered.

Address space for GS NGG Streamout registers.

PARAM_D_ADDRESS 

end Internal address spaces.

Address space for direct addressable parameter memory (CONST0).

PARAM_I_ADDRESS 

Address space for indirect addressable parameter memory (VTX1).

CONSTANT_BUFFER_0 
CONSTANT_BUFFER_1 
CONSTANT_BUFFER_2 
CONSTANT_BUFFER_3 
CONSTANT_BUFFER_4 
CONSTANT_BUFFER_5 
CONSTANT_BUFFER_6 
CONSTANT_BUFFER_7 
CONSTANT_BUFFER_8 
CONSTANT_BUFFER_9 
CONSTANT_BUFFER_10 
CONSTANT_BUFFER_11 
CONSTANT_BUFFER_12 
CONSTANT_BUFFER_13 
CONSTANT_BUFFER_14 
CONSTANT_BUFFER_15 
UNKNOWN_ADDRESS_SPACE 

Definition at line 26 of file AMDGPUAddrSpace.h.